diff --git a/.tgs.yml b/.tgs.yml index 880ca67a61b..76a53577b50 100644 --- a/.tgs.yml +++ b/.tgs.yml @@ -3,7 +3,7 @@ version: 1 # The BYOND version to use (kept in sync with dependencies.sh by the "TGS Test Suite" CI job) # Must be interpreted as a string, keep quoted -byond: "515.1630" +byond: "515.1633" # Folders to create in "/Configuration/GameStaticFiles/" static_files: # Config directory should be static diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_plasma_facility.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_plasma_facility.dmm index 356bed29f9f..f344652d623 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_plasma_facility.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_plasma_facility.dmm @@ -2601,9 +2601,7 @@ pixel_x = 15; pixel_y = 14 }, -/mob/living/basic/frog{ - name = "Peter Jr." - }, +/mob/living/basic/frog/icemoon_facility, /turf/open/floor/plating/icemoon, /area/ruin/plasma_facility/operations) "TK" = ( diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_library.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_library.dmm index 808fb0cba60..a32777c4440 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_underground_library.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_underground_library.dmm @@ -145,7 +145,7 @@ }, /area/ruin/unpowered/buried_library) "aO" = ( -/mob/living/basic/pet/fox, +/mob/living/basic/pet/fox/icemoon, /turf/open/floor/wood{ initial_gas_mix = "ICEMOON_ATMOS" }, @@ -327,7 +327,7 @@ /area/ruin/unpowered/buried_library) "cA" = ( /obj/effect/decal/cleanable/dirt, -/mob/living/basic/pet/fox, +/mob/living/basic/pet/fox/icemoon, /turf/open/floor/wood{ initial_gas_mix = "ICEMOON_ATMOS" }, @@ -394,7 +394,7 @@ /obj/structure/fluff/paper{ dir = 1 }, -/mob/living/basic/pet/fox, +/mob/living/basic/pet/fox/icemoon, /turf/open/floor/wood{ initial_gas_mix = "ICEMOON_ATMOS" }, diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm index f05c972ec35..5653125ca0e 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm @@ -208,9 +208,7 @@ "nq" = ( /obj/effect/decal/cleanable/cobweb, /obj/machinery/light/small/directional/north, -/mob/living/basic/pet/dog/bullterrier{ - name = "Saint Nick's Helpful Associate" - }, +/mob/living/basic/pet/dog/bullterrier/lavaland_party, /turf/open/floor/carpet/blue/lavaland, /area/ruin/unpowered) "nI" = ( diff --git a/_maps/RandomRuins/SpaceRuins/hilbertresearchfacility.dmm b/_maps/RandomRuins/SpaceRuins/hilbertresearchfacility.dmm index 5fa1e84d0c2..1707e06d3c4 100644 --- a/_maps/RandomRuins/SpaceRuins/hilbertresearchfacility.dmm +++ b/_maps/RandomRuins/SpaceRuins/hilbertresearchfacility.dmm @@ -333,10 +333,7 @@ /turf/open/floor/carpet/black, /area/ruin/space/has_grav/powered/hilbertresearchfacility) "jC" = ( -/mob/living/simple_animal/slime{ - rabid = 1; - slime_type = /datum/slime_type/bluespace - }, +/mob/living/basic/slime/hilbert, /obj/effect/decal/cleanable/dirt, /turf/open/floor/mineral/titanium/tiled/purple, /area/ruin/space/has_grav/powered/hilbertresearchfacility) @@ -893,10 +890,7 @@ /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/powered/hilbertresearchfacility) "wY" = ( -/mob/living/simple_animal/slime{ - rabid = 1; - slime_type = /datum/slime_type/bluespace - }, +/mob/living/basic/slime/hilbert, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/powered/hilbertresearchfacility) "xb" = ( @@ -1398,10 +1392,7 @@ dir = 10 }, /obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/slime{ - rabid = 1; - slime_type = /datum/slime_type/bluespace - }, +/mob/living/basic/slime/hilbert, /turf/open/floor/mineral/titanium/tiled/purple, /area/ruin/space/has_grav/powered/hilbertresearchfacility) "Gs" = ( @@ -2295,10 +2286,7 @@ /turf/open/floor/wood, /area/ruin/space/has_grav/powered/hilbertresearchfacility) "Ze" = ( -/mob/living/simple_animal/slime{ - rabid = 1; - slime_type = /datum/slime_type/bluespace - }, +/mob/living/basic/slime/hilbert, /obj/effect/decal/cleanable/dirt, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/powered/hilbertresearchfacility) diff --git a/_maps/RandomZLevels/SnowCabin.dmm b/_maps/RandomZLevels/SnowCabin.dmm index 7ad0b42218f..7ed902651a5 100644 --- a/_maps/RandomZLevels/SnowCabin.dmm +++ b/_maps/RandomZLevels/SnowCabin.dmm @@ -3002,7 +3002,7 @@ set_luminosity = 6; light_color = "#9bbbff" }, -/mob/living/basic/pet/penguin/baby/permanent, +/mob/living/basic/pet/penguin/baby/permanent/snowdin, /turf/open/misc/ice/smooth, /area/awaymission/cabin/snowforest) "sK" = ( @@ -3725,7 +3725,7 @@ set_luminosity = 6; light_color = "#9bbbff" }, -/mob/living/basic/pet/penguin/emperor, +/mob/living/basic/pet/penguin/emperor/snowdin, /turf/open/misc/ice/smooth, /area/awaymission/cabin/snowforest) "Aa" = ( diff --git a/_maps/RandomZLevels/caves.dmm b/_maps/RandomZLevels/caves.dmm index 0b0fba3f0cb..e54d1b87cba 100644 --- a/_maps/RandomZLevels/caves.dmm +++ b/_maps/RandomZLevels/caves.dmm @@ -1260,7 +1260,7 @@ }, /area/awaymission/caves/bmp_asteroid/level_two) "kE" = ( -/mob/living/basic/spider/giant/hunter, +/mob/living/basic/spider/giant/hunter/away_caves, /turf/open/floor/iron, /area/awaymission/caves/bmp_asteroid) "kL" = ( @@ -1332,7 +1332,7 @@ /area/awaymission/caves/northblock) "pC" = ( /obj/item/mjollnir, -/mob/living/basic/spider/giant/nurse, +/mob/living/basic/spider/giant/nurse/away_caves, /turf/open/misc/asteroid/basalt{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, @@ -1432,7 +1432,7 @@ /obj/machinery/sleeper{ dir = 8 }, -/mob/living/basic/spider/giant/hunter, +/mob/living/basic/spider/giant/hunter/away_caves, /turf/open/floor/iron, /area/awaymission/caves/bmp_asteroid) "uO" = ( @@ -1590,7 +1590,7 @@ }, /area/awaymission/caves/bmp_asteroid/level_two) "Bz" = ( -/mob/living/basic/spider/giant/nurse, +/mob/living/basic/spider/giant/nurse/away_caves, /turf/open/misc/asteroid/basalt{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, @@ -1672,7 +1672,7 @@ "FS" = ( /obj/machinery/light/small/built/directional/north, /obj/structure/spider/stickyweb, -/mob/living/basic/spider/giant/hunter, +/mob/living/basic/spider/giant/hunter/away_caves, /turf/open/floor/iron, /area/awaymission/caves/bmp_asteroid) "FV" = ( @@ -1856,10 +1856,7 @@ /turf/open/floor/iron, /area/awaymission/caves/listeningpost) "Qe" = ( -/mob/living/basic/bat{ - desc = "A rare breed of bat which roosts deep in caves."; - name = "Cave Bat" - }, +/mob/living/basic/bat/away_caves, /turf/open/misc/asteroid/basalt{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, @@ -1871,10 +1868,7 @@ }, /area/awaymission/caves/bmp_asteroid/level_four) "Rt" = ( -/mob/living/basic/bat{ - desc = "A rare breed of bat which roosts deep in caves."; - name = "Cave Bat" - }, +/mob/living/basic/bat/away_caves, /turf/open/misc/asteroid/basalt{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, @@ -1951,14 +1945,11 @@ /turf/open/floor/iron/recharge_floor, /area/awaymission/caves/bmp_asteroid) "Xa" = ( -/mob/living/basic/bat{ - desc = "A rare breed of bat which roosts deep in caves."; - name = "Cave Bat" - }, +/mob/living/basic/bat/away_caves, /turf/open/floor/iron, /area/awaymission/caves/northblock) "Xs" = ( -/mob/living/basic/spider/giant/hunter, +/mob/living/basic/spider/giant/hunter/away_caves, /turf/open/misc/asteroid/basalt{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, @@ -1980,7 +1971,7 @@ /area/awaymission/caves/bmp_asteroid/level_two) "XR" = ( /obj/structure/spider/stickyweb, -/mob/living/basic/spider/giant/hunter, +/mob/living/basic/spider/giant/hunter/away_caves, /turf/open/misc/asteroid/basalt{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, diff --git a/_maps/map_files/Basketball/lusty_xenomorphs.dmm b/_maps/map_files/Basketball/lusty_xenomorphs.dmm index b5c8b5a6184..534376d3f56 100644 --- a/_maps/map_files/Basketball/lusty_xenomorphs.dmm +++ b/_maps/map_files/Basketball/lusty_xenomorphs.dmm @@ -217,7 +217,7 @@ /turf/open/floor/engine, /area/centcom/basketball) "pu" = ( -/mob/living/simple_animal/slime/random, +/mob/living/basic/slime/random, /turf/open/floor/engine, /area/centcom/basketball) "qU" = ( diff --git a/_maps/map_files/Birdshot/birdshot.dmm b/_maps/map_files/Birdshot/birdshot.dmm index ba0904d1f3e..790f0255fbe 100644 --- a/_maps/map_files/Birdshot/birdshot.dmm +++ b/_maps/map_files/Birdshot/birdshot.dmm @@ -3,6 +3,11 @@ /obj/effect/landmark/carpspawn, /turf/open/space/basic, /area/space) +"aap" = ( +/obj/structure/sign/warning/pods/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "aav" = ( /obj/structure/sink/directional/west, /obj/structure/mirror/directional/east, @@ -17,6 +22,21 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/cafeteria, /area/station/science/circuits) +"aaA" = ( +/obj/structure/table/reinforced, +/obj/structure/spider/stickyweb, +/obj/item/clothing/suit/hazardvest{ + pixel_x = 3; + pixel_y = 21 + }, +/obj/item/hfr_box/corner{ + pixel_x = -5; + pixel_y = 12 + }, +/obj/item/hfr_box/body/interface, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "abh" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26,13 +46,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"abs" = ( -/obj/structure/rack, -/obj/item/stack/sheet/glass/fifty, -/obj/item/storage/toolbox/mechanical, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/station/engineering/atmos/project) "abt" = ( /obj/structure/cable, /obj/structure/lattice/catwalk, @@ -46,45 +59,35 @@ }, /turf/open/floor/iron, /area/station/security/tram) +"abR" = ( +/obj/machinery/power/emitter{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/structure/sign/warning/no_smoking/circle/directional/south, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) +"acg" = ( +/obj/machinery/power/smes/engineering, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "ach" = ( /obj/machinery/netpod, /turf/open/floor/catwalk_floor/iron_dark, /area/station/cargo/bitrunning/den) -"acl" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) -"acn" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/trimline/yellow/arrow_cw{ - dir = 1 +"aci" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 5 }, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) -"acu" = ( -/obj/effect/turf_decal/stripes{ - dir = 1 - }, -/obj/machinery/camera/directional/north, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) -"acF" = ( -/turf/closed/wall/rust, -/area/station/engineering/atmos/project) +/turf/open/space/basic, +/area/space/nearstation) "acJ" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"acN" = ( -/obj/effect/turf_decal/stripes{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) "acS" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -107,15 +110,6 @@ /obj/item/surgery_tray/full/morgue, /turf/open/floor/iron/small, /area/station/medical/morgue) -"adB" = ( -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) -"adF" = ( -/obj/effect/turf_decal/sand/plating, -/obj/machinery/portable_atmospherics/canister, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) "adL" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -127,27 +121,18 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"adO" = ( -/obj/structure/rack, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/mineral/plasma{ - amount = 30 +"adV" = ( +/obj/machinery/door/airlock/atmos{ + name = "Atmospherics" }, -/obj/item/pickaxe, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) -"adR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/generic_maintenance_landmark, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) -"aed" = ( -/turf/open/floor/plating, -/area/station/engineering/atmos/project) -"aem" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/station/engineering/atmos/project) +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "atmos_airlock_1" + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/hallway) "aen" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -185,18 +170,10 @@ /obj/item/food/sandwich/peanut_butter_jelly, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) -"aeA" = ( -/obj/effect/turf_decal/stripes{ - dir = 8 - }, -/obj/item/radio/intercom/directional/west, +"aeu" = ( +/obj/structure/grille, /turf/open/floor/plating, -/area/station/engineering/atmos/project) -"aeC" = ( -/obj/structure/cable, -/obj/machinery/power/floodlight, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) +/area/station/maintenance/department/engine/atmos) "aeD" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/computer/scan_consolenew{ @@ -209,12 +186,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/science/genetics) -"aeF" = ( -/obj/machinery/atmospherics/components/tank/air{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) "aeN" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -228,17 +199,15 @@ }, /turf/open/floor/iron/cafeteria, /area/station/service/cafeteria) -"afi" = ( +"aeX" = ( +/obj/structure/window/spawner/directional/east, +/obj/item/kirbyplants/random, +/obj/item/wrench, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes{ - dir = 8 - }, -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 4; - name = "Air to Distro" - }, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron, +/area/station/engineering/lobby) "afl" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -276,23 +245,15 @@ dir = 8 }, /area/station/science/lobby) +"afB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/warning/radiation/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "afF" = ( /obj/structure/table, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"afP" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) -"afX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) "agb" = ( /obj/effect/turf_decal/tile/green{ dir = 8 @@ -306,12 +267,6 @@ /obj/effect/landmark/start/virologist, /turf/open/floor/iron/white, /area/station/medical/virology) -"agn" = ( -/obj/effect/turf_decal/stripes{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) "agy" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/components/tank/oxygen{ @@ -326,18 +281,6 @@ /obj/structure/sign/departments/vault/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/spacebridge) -"agD" = ( -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) -"agE" = ( -/obj/effect/turf_decal/stripes{ - dir = 10 - }, -/obj/machinery/atmospherics/components/binary/valve/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) "agF" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/chair/sofa/bamboo/right{ @@ -355,11 +298,14 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"agT" = ( -/obj/effect/turf_decal/stripes, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) +"agR" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 6 + }, +/obj/machinery/shieldgen, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark/small, +/area/station/engineering/storage_shared) "agV" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/white/warning{ @@ -378,15 +324,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/wood, /area/station/commons/fitness/recreation) -"agY" = ( -/obj/effect/turf_decal/stripes, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) -"ahe" = ( -/obj/effect/turf_decal/stripes, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) "ahj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -408,17 +345,6 @@ /mob/living/basic/pet/cat/runtime, /turf/open/floor/iron/white/small, /area/station/command/heads_quarters/cmo) -"ahy" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes, -/turf/open/floor/plating/rust, -/area/station/engineering/atmos/project) -"ahz" = ( -/obj/effect/turf_decal/sand/plating, -/obj/machinery/atmospherics/components/binary/valve/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) "ahD" = ( /obj/structure/flora/bush/flowers_pp/style_random, /turf/open/floor/grass, @@ -434,31 +360,21 @@ /obj/effect/turf_decal/siding/yellow, /turf/open/floor/wood/tile, /area/station/command/bridge) -"ahM" = ( -/obj/structure/chair/office/light{ +"ahW" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/sign/poster/official/random/directional/south, +/turf/open/floor/iron/stairs/old{ dir = 4 }, -/mob/living/basic/parrot/poly, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) +/area/station/engineering/break_room) "aid" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/auxiliary) -"ait" = ( -/obj/machinery/atmospherics/components/binary/valve/layer2, -/turf/open/floor/plating/rust, -/area/station/engineering/atmos/project) -"aiA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/closed/wall/rust, -/area/station/engineering/atmos/project) "aiE" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -475,63 +391,46 @@ /obj/item/canvas/twentythree_twentythree, /turf/open/floor/iron, /area/station/commons/storage/art) -"aiJ" = ( -/obj/machinery/door/airlock/external/glass, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) -"aiN" = ( +"aiK" = ( +/obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, -/obj/machinery/power/port_gen/pacman, -/obj/machinery/power/terminal{ - dir = 4 +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "ceprivacy"; + name = "Chief's Privacy Shutters" }, /turf/open/floor/plating, -/area/station/engineering/atmos/project) -"ajg" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) -"ajo" = ( -/obj/machinery/atmospherics/components/tank/plasma{ - dir = 1 +/area/station/engineering/lobby) +"aiL" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/mix_input{ + dir = 8 }, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) -"ajG" = ( -/obj/machinery/atmospherics/components/tank/oxygen{ - dir = 1 +/turf/open/floor/engine/airless, +/area/station/engineering/atmos) +"ako" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 }, +/obj/item/kirbyplants/random, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/item/wallframe/apc, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, -/area/station/engineering/atmos/project) -"ajI" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/closed/wall, -/area/station/engineering/atmos/project) -"ajM" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/components/unary/passive_vent/layer2{ - dir = 1 - }, -/turf/open/space/basic, -/area/space/nearstation) -"ajQ" = ( -/obj/machinery/door/airlock/external/glass, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) +/area/station/maintenance/department/electrical) "akt" = ( /obj/structure/table/wood, /obj/item/clothing/mask/gas/owl_mask, /turf/open/floor/wood, /area/station/maintenance/fore/greater) +"aky" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "akF" = ( /obj/effect/landmark/transport/nav_beacon/tram/nav/immovable_rod, /turf/closed/wall, @@ -546,6 +445,23 @@ }, /turf/open/floor/iron, /area/station/security) +"akS" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/suit_storage_unit/atmos, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plating, +/area/station/engineering/atmos/office) +"akU" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Atmospherics - South" + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "akY" = ( /obj/machinery/door/airlock{ name = "Maintenance" @@ -582,24 +498,21 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"alx" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 +"all" = ( +/obj/structure/table/greyscale, +/obj/item/folder/yellow{ + pixel_x = 9; + pixel_y = 1 }, -/obj/effect/turf_decal/trimline/yellow/arrow_cw, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) -"alD" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 9 +/obj/item/pen{ + pixel_x = 5 }, -/obj/structure/marker_beacon/jade, -/turf/open/space/basic, -/area/space/nearstation) +/obj/item/reagent_containers/cup/bottle/welding_fuel{ + pixel_x = -7; + pixel_y = 5 + }, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "alF" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -616,38 +529,11 @@ /obj/structure/cable, /turf/open/floor/iron/small, /area/station/maintenance/solars/starboard/aft) -"alR" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/railing/corner, -/turf/open/space/basic, -/area/space/nearstation) "alV" = ( /obj/structure/cable, /obj/machinery/power/apc/worn_out/directional/west, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_recreation) -"amp" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/space/basic, -/area/space/nearstation) -"amq" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing, -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/turf/open/space/basic, -/area/space/nearstation) "amE" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -660,14 +546,18 @@ }, /turf/open/floor/iron/textured_half, /area/station/security/execution/transfer) -"amG" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing/corner{ - dir = 1 +"amH" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Air to Mix" }, -/obj/structure/railing/corner, -/turf/open/space/basic, -/area/space/nearstation) +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "amI" = ( /obj/effect/turf_decal/trimline/neutral/line{ dir = 1 @@ -696,21 +586,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"ann" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 6 - }, -/obj/structure/marker_beacon/jade, -/turf/open/space/basic, -/area/space/nearstation) -"anv" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/space/basic, -/area/space/nearstation) "anJ" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 8 @@ -719,25 +594,10 @@ /obj/machinery/chem_heater/withbuffer, /turf/open/floor/iron, /area/station/medical/chemistry) -"anV" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 4 - }, -/turf/open/space/basic, -/area/space/nearstation) "aoa" = ( /obj/machinery/telecomms/server/presets/supply, /turf/open/floor/circuit, /area/station/tcommsat/server) -"aoe" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "aoj" = ( /obj/structure/railing{ dir = 8 @@ -752,17 +612,6 @@ /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"aou" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/simple/brown/visible{ - dir = 10 - }, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "aoz" = ( /obj/structure/closet/secure_closet/captains, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -780,6 +629,14 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/white/small, /area/station/science/ordnance/storage) +"apd" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, +/obj/machinery/meter, +/turf/open/floor/iron, +/area/station/engineering/atmos) "api" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt, @@ -789,6 +646,19 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron/white/small, /area/station/science/server) +"apj" = ( +/obj/effect/turf_decal/sand/plating, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer5{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) "apk" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/dark_red{ @@ -810,24 +680,20 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/science/lab) -"aqr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ +"apZ" = ( +/turf/open/floor/engine/helium, +/area/station/ai_monitored/turret_protected/ai) +"aqn" = ( +/obj/effect/turf_decal/siding/dark{ dir = 4 }, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) -"aqU" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/engineering/supermatter/room) +/obj/machinery/light/small/directional/east, +/turf/open/floor/engine/co2, +/area/station/engineering/atmos/space_catwalk) +"aqo" = ( +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "aqV" = ( /obj/machinery/door/airlock/glass, /obj/machinery/door/firedoor, @@ -858,18 +724,6 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/medical/storage) -"arA" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/station_engineer, -/obj/machinery/meter, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "arB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -882,16 +736,6 @@ dir = 8 }, /area/station/science/xenobiology) -"arJ" = ( -/obj/structure/table/reinforced/titaniumglass, -/obj/item/storage/toolbox/mechanical{ - pixel_y = 15 - }, -/obj/item/storage/toolbox/mechanical{ - pixel_y = 8 - }, -/turf/open/floor/iron/small, -/area/station/engineering/supermatter/room) "arK" = ( /obj/structure/sign/warning/secure_area{ desc = "A warning sign which reads 'BOMB RANGE"; @@ -899,10 +743,15 @@ }, /turf/closed/wall, /area/station/science/ordnance/bomb) -"arP" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) +"arN" = ( +/obj/structure/frame/machine, +/obj/item/circuitboard/machine/pacman, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/iron/smooth, +/area/station/maintenance/department/electrical) "asb" = ( /obj/effect/turf_decal/siding/white, /turf/open/floor/iron/dark/small, @@ -915,12 +764,6 @@ }, /turf/open/floor/iron/kitchen/small, /area/station/maintenance/aft) -"asf" = ( -/obj/effect/turf_decal/stripes{ - dir = 9 - }, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) "ask" = ( /obj/structure/cable, /obj/machinery/door/airlock/public/glass{ @@ -939,12 +782,14 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/wood, /area/station/service/theater) -"asq" = ( -/obj/effect/turf_decal/stripes{ - dir = 8 +"asK" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 8; + name = "Mix to Filter" }, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) +/obj/machinery/atmospherics/pipe/smart/simple/supply/visible/layer2, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "asN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -997,15 +842,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"atF" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "atG" = ( /obj/structure/chair, /obj/effect/turf_decal/stripes/line{ @@ -1027,30 +863,22 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/central/greater) -"atN" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple, -/turf/open/space/basic, -/area/space/nearstation) "atW" = ( /turf/open/floor/iron/chapel{ dir = 8 }, /area/station/maintenance/starboard/greater) -"aun" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) -"auB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron, -/area/station/engineering/atmos/storage/gas) +"auc" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 5 + }, +/obj/structure/closet/firecloset, +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/department/engine) "auG" = ( /obj/structure/chair{ dir = 1 @@ -1062,12 +890,21 @@ /obj/structure/closet/emcloset, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"auQ" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/structure/railing/corner/end{ + dir = 8 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) "ave" = ( /turf/open/space, /area/space) -"avp" = ( -/turf/closed/wall/r_wall, -/area/station/engineering/engine_smes) "avB" = ( /obj/effect/turf_decal/tile/red{ dir = 4 @@ -1076,15 +913,6 @@ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) -"avD" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/misc/asteroid, -/area/station/maintenance/department/engine) -"avL" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "avN" = ( /obj/structure/table/glass, /obj/effect/decal/cleanable/dirt, @@ -1109,13 +937,6 @@ }, /turf/open/floor/tram, /area/station/security/tram) -"awi" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/plastic{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "aws" = ( /obj/machinery/hydroponics/constructable, /obj/effect/turf_decal/tile/blue/half, @@ -1172,12 +993,29 @@ /obj/item/bodypart/arm/left, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) +"axt" = ( +/obj/machinery/atmospherics/pipe/bridge_pipe/purple/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "axN" = ( /obj/machinery/sparker/directional/north{ id = "Xenobio" }, /turf/open/floor/engine, /area/station/science/xenobiology) +"axX" = ( +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/tile/yellow/diagonal_centre, +/obj/structure/chair/sofa/bench/left{ + dir = 1 + }, +/obj/machinery/newscaster/directional/south, +/obj/machinery/light/cold/dim/directional/south, +/turf/open/floor/iron/diagonal, +/area/station/engineering/lobby) "ayf" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 @@ -1195,22 +1033,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"ayi" = ( -/turf/closed/wall, -/area/station/engineering/atmos/project) -"ayn" = ( -/obj/item/kirbyplants/organic/applebush, -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "ayu" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -1220,6 +1042,24 @@ "ayK" = ( /turf/closed/wall/r_wall, /area/station/engineering/supermatter/room) +"ayO" = ( +/obj/effect/turf_decal/sand/plating, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"ayR" = ( +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/engineering/main) "ayV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -1246,22 +1086,6 @@ }, /turf/open/floor/iron/diagonal, /area/station/command/heads_quarters/hop) -"azq" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/maintenance{ - name = "Engineering Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "azv" = ( /obj/machinery/teleport/station, /obj/effect/turf_decal/stripes/line{ @@ -1301,28 +1125,21 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron/dark/herringbone, /area/station/security/courtroom) -"aAt" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 10 +"aAb" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter) +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/wood, +/area/station/engineering/atmos) "aAD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, /obj/item/book/manual/wiki/tcomms, /turf/open/floor/circuit, /area/station/tcommsat/server) -"aAE" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/iron/smooth, -/area/station/engineering/engine_smes) "aAL" = ( /obj/structure/cable, /obj/structure/window/reinforced/spawner/directional/north, @@ -1332,6 +1149,16 @@ }, /turf/open/floor/iron/dark, /area/station/science/xenobiology) +"aAQ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/junction/flip{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "aAV" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 @@ -1341,14 +1168,27 @@ }, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) -"aBs" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 +"aBb" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/camera/directional/south{ + c_tag = "Atmospherics - South" }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/iron/smooth, -/area/station/engineering/engine_smes) +/obj/item/storage/box/syringes{ + pixel_x = 3; + pixel_y = 14 + }, +/obj/machinery/button/door/directional/south{ + id = "medbreach"; + name = "Breach Shutters Control" + }, +/obj/machinery/light/cold/directional/south, +/obj/item/storage/box/masks{ + pixel_x = -2; + pixel_y = 5 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "aBu" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -1393,10 +1233,6 @@ /obj/structure/sign/departments/science/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"aCf" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/misc/asteroid, -/area/station/maintenance/department/engine) "aCi" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -1436,12 +1272,6 @@ /obj/effect/landmark/transport/nav_beacon/tram/platform/birdshot/maint_right, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) -"aCZ" = ( -/obj/effect/turf_decal/sand/plating, -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "aDe" = ( /obj/item/target, /obj/structure/window/reinforced/spawner/directional/east, @@ -1454,6 +1284,15 @@ /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) +"aEc" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/bot, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron/smooth, +/area/station/command/bridge) "aEl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/stripes/line{ @@ -1465,11 +1304,22 @@ /obj/effect/landmark/navigate_destination/teleporter, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"aEA" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) +"aEq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/item/kirbyplants/random, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/item/radio/intercom/directional/south, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron/small, +/area/station/engineering/supermatter/room) +"aEy" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos) "aEB" = ( /obj/structure/table, /obj/effect/spawner/random/food_or_drink/seed_rare, @@ -1487,6 +1337,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden, /turf/open/floor/wood/tile, /area/station/tcommsat/server) +"aEP" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/machinery/shower/directional/west, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/department/engine) "aFh" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -1507,10 +1364,6 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"aFA" = ( -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/iron/small, -/area/station/engineering/main) "aFE" = ( /obj/item/target, /obj/structure/window/reinforced/spawner/directional/west, @@ -1522,6 +1375,13 @@ "aFR" = ( /turf/open/floor/plating, /area/station/security/tram) +"aFU" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "aFY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -1536,6 +1396,17 @@ /obj/structure/marker_beacon/fuchsia, /turf/open/space/basic, /area/space/nearstation) +"aGc" = ( +/obj/effect/turf_decal/stripes/white/full, +/obj/machinery/door/window/right/directional/west, +/turf/open/floor/engine, +/area/station/engineering/supermatter) +"aGf" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai) "aGv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -1556,21 +1427,18 @@ }, /turf/open/misc/sandy_dirt, /area/station/security/tram) -"aGF" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple, -/turf/open/space/basic, -/area/space/nearstation) "aGU" = ( /obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"aHc" = ( -/obj/effect/turf_decal/stripes/line{ +"aHb" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/airalarm/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "aHq" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/east, @@ -1580,6 +1448,16 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/construction/mining/aux_base) +"aHH" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/storage_shared) "aHJ" = ( /obj/structure/window/spawner/directional/north, /obj/machinery/hydroponics/soil, @@ -1596,21 +1474,28 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"aIr" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/obj/structure/window/spawner/directional/south, -/obj/effect/turf_decal/tile/red, -/obj/machinery/vending/tool, -/turf/open/floor/iron/dark/side{ - dir = 9 +"aIk" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/area/station/engineering/atmos) +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "aIu" = ( /obj/structure/bookcase/random/reference, /obj/machinery/camera/autoname/directional/north, /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/white/small, /area/station/medical/psychology) +"aIE" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/effect/decal/cleanable/generic, +/obj/effect/landmark/blobstart, +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) "aIH" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -1620,57 +1505,20 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/security/processing) -"aII" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump{ - name = "Cooling Loop Bypass" - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 10 - }, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "aIW" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 1 }, /turf/open/floor/iron, /area/station/security/execution/transfer) -"aJc" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/poddoor/shutters/radiation/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/engineering/supermatter) -"aJn" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/machinery/door/window/survival_pod/left/directional/east, -/turf/open/floor/engine, -/area/station/engineering/supermatter) +"aIY" = ( +/obj/structure/railing/corner, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/small, +/area/station/engineering/main) "aJq" = ( /turf/closed/mineral/random/stationside, /area/space/nearstation) -"aJu" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/power/terminal, -/obj/effect/turf_decal/trimline/yellow/arrow_cw{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/iron/smooth, -/area/station/engineering/engine_smes) "aJE" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/siding/wood{ @@ -1704,35 +1552,20 @@ dir = 8 }, /area/station/construction/mining/aux_base) -"aKm" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/power/terminal, -/obj/effect/turf_decal/trimline/yellow/arrow_cw{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, +"aKb" = ( +/obj/structure/tank_dispenser, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) +"aKo" = ( +/obj/machinery/computer/atmos_control/plasma_tank, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/status_display/evac/directional/west, /turf/open/floor/iron/smooth, -/area/station/engineering/engine_smes) +/area/station/engineering/atmos/office) "aKx" = ( /obj/machinery/holopad, /turf/open/floor/iron/dark/small, /area/station/tcommsat/server) -"aKG" = ( -/obj/machinery/power/terminal, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/yellow/arrow_cw{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron/smooth, -/area/station/engineering/engine_smes) -"aKH" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) "aKJ" = ( /obj/structure/cable, /obj/machinery/door/airlock{ @@ -1747,12 +1580,14 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"aKZ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +"aKU" = ( +/obj/effect/turf_decal/siding/wideplating{ dir = 4 }, -/turf/open/floor/iron/small, -/area/station/engineering/engine_smes) +/obj/machinery/light/small/directional/south, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/office) "aLg" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -1786,6 +1621,14 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/construction/mining/aux_base) +"aLu" = ( +/obj/effect/turf_decal/delivery/white, +/obj/machinery/door/airlock/engineering/glass/critical{ + heat_proof = 1; + name = "Supermatter Chamber" + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "aLv" = ( /obj/structure/transport/linear/tram, /obj/effect/turf_decal/stripes/white/line{ @@ -1803,12 +1646,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"aLT" = ( -/obj/structure/rack, -/obj/item/pickaxe, -/obj/effect/spawner/random/maintenance, -/turf/open/misc/asteroid, -/area/station/maintenance/department/engine) "aLU" = ( /obj/structure/chair{ dir = 4 @@ -1831,35 +1668,18 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"aMm" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/machinery/vending/tool, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron, -/area/station/engineering/break_room) "aMy" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/layer_manifold/supply/visible, /turf/open/floor/plating, /area/station/science/ordnance/testlab) -"aME" = ( -/obj/machinery/door/poddoor/shutters/radiation/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" +"aNc" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing/corner{ + dir = 1 }, -/turf/open/floor/plating, -/area/station/engineering/supermatter) -"aNe" = ( -/obj/structure/window/reinforced/survival_pod/spawner/directional/east, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Gas to Chamber" - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter) +/turf/open/space/basic, +/area/space/nearstation) "aNk" = ( /obj/machinery/suit_storage_unit/security, /turf/open/floor/iron/small, @@ -1872,6 +1692,21 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/dark/small, /area/station/medical/storage) +"aNJ" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/left/directional/north{ + name = "Engineering Desk"; + req_access = list("engineering") + }, +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/obj/item/book/manual/wiki/engineering_hacking{ + pixel_x = -3; + pixel_y = 5 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/engineering/break_room) "aNL" = ( /turf/closed/wall, /area/station/science/ordnance/bomb) @@ -1900,6 +1735,13 @@ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) +"aOb" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 4 + }, +/obj/machinery/light/cold/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "aOx" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/stone, @@ -1914,50 +1756,16 @@ /obj/machinery/light/floor, /turf/open/floor/iron/dark, /area/station/science/genetics) -"aOE" = ( -/obj/machinery/modular_computer/preset/engineering{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/small, -/area/station/engineering/engine_smes) -"aOK" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"aOM" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/north, -/obj/effect/turf_decal/stripes/white/line{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/stack/sheet/mineral/plasma, -/turf/open/floor/engine, -/area/station/maintenance/department/engine) -"aOP" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, +"aOS" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) +/area/station/engineering/atmos/office) "aOX" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 6 }, /turf/open/floor/tram, /area/station/security/tram) -"aOZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/pickaxe, -/turf/open/floor/iron/small, -/area/station/engineering/supermatter/room) "aPa" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -1967,33 +1775,6 @@ }, /turf/open/floor/iron/dark, /area/station/medical/medbay/aft) -"aPb" = ( -/turf/open/floor/plating/rust, -/area/station/engineering/atmos/project) -"aPh" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/north, -/obj/effect/turf_decal/stripes/white/line{ - dir = 10 - }, -/obj/machinery/atmospherics/components/unary/passive_vent, -/turf/open/floor/engine, -/area/station/maintenance/department/engine) -"aPm" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/item/kirbyplants/random, -/obj/effect/decal/cleanable/greenglow, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/smooth, -/area/station/maintenance/department/engine) -"aPn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/machinery/light/broken/directional/north, -/obj/item/stack/sheet/mineral/plasma/five, -/turf/open/floor/iron/smooth, -/area/station/maintenance/department/engine) "aPx" = ( /obj/structure/chair{ dir = 1 @@ -2009,6 +1790,15 @@ luminosity = 2 }, /area/station/science/ordnance/bomb) +"aPB" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/trimline/yellow/arrow_ccw{ + dir = 8 + }, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth_edge, +/area/station/engineering/supermatter/room) "aPD" = ( /obj/structure/chair{ dir = 1 @@ -2025,25 +1815,6 @@ /obj/machinery/incident_display/tram/directional/north, /turf/open/floor/iron, /area/station/security/tram) -"aPO" = ( -/obj/structure/table/glass, -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/camera/directional/south, -/obj/item/storage/box/syringes{ - pixel_x = 3; - pixel_y = 14 - }, -/obj/machinery/button/door/directional/south{ - id = "medbreach"; - name = "Breach Shutters Control" - }, -/obj/machinery/light/cold/directional/south, -/obj/item/storage/box/masks{ - pixel_x = -2; - pixel_y = 5 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "aPX" = ( /obj/structure/cable, /obj/machinery/holopad, @@ -2061,12 +1832,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/iron/dark, /area/station/medical/cryo) -"aQy" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/engine_smes) "aQF" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 1 @@ -2075,10 +1840,6 @@ /obj/effect/turf_decal/siding/wideplating/dark/corner, /turf/open/floor/iron, /area/station/security) -"aQI" = ( -/obj/structure/cable, -/turf/closed/wall/r_wall, -/area/station/maintenance/department/engine) "aRa" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -2113,10 +1874,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/small, /area/station/ai_monitored/security/armory) -"aRv" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall/r_wall, -/area/station/maintenance/department/engine) "aRw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/chapel{ @@ -2135,16 +1892,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"aRF" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/maintenance/department/engine) "aRI" = ( /obj/effect/turf_decal/tile/dark_red{ dir = 1 @@ -2158,49 +1905,14 @@ /obj/effect/turf_decal/trimline/neutral/end, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"aRR" = ( -/obj/machinery/power/supermatter_crystal/engine, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "aRT" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/newscaster/directional/west, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) -"aRY" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) -"aSa" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold/general/visible{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/maintenance/department/engine) -"aSd" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/arrow_cw{ - dir = 5 - }, -/obj/structure/cable, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/smooth, +"aSc" = ( +/obj/structure/reflector/double/anchored, +/turf/open/floor/plating/rust, /area/station/engineering/supermatter/room) "aSy" = ( /turf/closed/wall/r_wall, @@ -2214,11 +1926,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark/small, /area/station/hallway/secondary/dock) -"aSP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "aSQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/siding/wood, @@ -2231,26 +1938,14 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/grimy, /area/station/service/theater) -"aSY" = ( -/obj/item/kirbyplants/organic/applebush, -/turf/open/floor/iron/dark/smooth_large, -/area/station/command/bridge) +"aSV" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "aTc" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) -"aTd" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/table, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/spawner/random/maintenance, -/obj/item/wallframe/apc, -/turf/open/floor/iron/small, -/area/station/maintenance/department/engine) "aTf" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/camera/directional/east{ @@ -2307,23 +2002,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/smooth_edge, /area/station/maintenance/starboard/greater) -"aVq" = ( -/obj/machinery/door/airlock/highsecurity{ - name = "Radiation-Proof Airlock" +"aUR" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 +/obj/machinery/light/cold/directional/north, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 1 }, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/department/engine) -"aVz" = ( /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/department/engine) +/turf/open/floor/iron/smooth_edge{ + dir = 1 + }, +/area/station/engineering/supermatter/room) "aVT" = ( /obj/machinery/door/airlock/research/glass/incinerator/ordmix_interior, /obj/effect/mapping_helpers/airlock/locked, @@ -2380,48 +2072,36 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/grass, /area/station/service/chapel) -"aWC" = ( -/obj/machinery/computer/department_orders/engineering{ +"aWx" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/effect/turf_decal/stripes/corner{ dir = 8 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, /turf/open/floor/plating, +/area/station/maintenance/department/electrical) +"aWA" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/small, /area/station/engineering/break_room) +"aWG" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 10 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/small, +/area/station/engineering/supermatter/room) +"aXy" = ( +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/office) "aXI" = ( /turf/closed/wall/r_wall, /area/station/science/lobby) -"aXL" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine) -"aXR" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"aYd" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/south, -/obj/effect/turf_decal/stripes/white/line{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/passive_vent{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/maintenance/department/engine) -"aYe" = ( -/obj/structure/closet/secure_closet/engineering_welding, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine) "aYp" = ( /obj/structure/chair, /obj/effect/turf_decal/stripes/line{ @@ -2457,13 +2137,25 @@ /obj/structure/flora/bush/flowers_yw/style_random, /turf/open/misc/sandy_dirt, /area/station/service/lawoffice) -"aZi" = ( -/obj/effect/turf_decal/stripes/white/line{ +"aZf" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/structure/cable, +/obj/structure/reflector/single/anchored{ + dir = 10 + }, +/turf/open/floor/plating/rust, +/area/station/engineering/supermatter/room) +"aZu" = ( +/obj/machinery/power/emitter{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ dir = 9 }, -/obj/structure/window/reinforced/plasma/spawner/directional/west, -/turf/open/floor/engine, -/area/station/maintenance/department/engine) +/turf/open/floor/plating/rust, +/area/station/engineering/supermatter/room) "aZw" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/landmark/navigate_destination/dockescpod, @@ -2485,16 +2177,6 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"aZM" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "aZS" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -2512,15 +2194,6 @@ dir = 4 }, /area/station/command/heads_quarters/hop) -"bat" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 5 - }, -/turf/open/floor/iron/smooth, -/area/station/maintenance/department/engine) "baE" = ( /obj/structure/table, /obj/item/gps/mining{ @@ -2533,12 +2206,16 @@ /obj/structure/alien/weeds, /turf/open/misc/asteroid, /area/station/maintenance/starboard/greater) -"baW" = ( -/obj/effect/turf_decal/stripes/line{ +"baP" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ dir = 8 }, -/turf/open/floor/iron/small, -/area/station/maintenance/department/engine) +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "bba" = ( /obj/effect/turf_decal/siding/blue{ dir = 8 @@ -2555,6 +2232,15 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"bbp" = ( +/obj/structure/spider/stickyweb/sealed, +/turf/open/floor/plating, +/area/station/engineering/atmospherics_engine) +"bbF" = ( +/obj/structure/filingcabinet/chestdrawer, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/office) "bbK" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, @@ -2574,20 +2260,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"bcc" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/landmark/navigate_destination/atmos, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "bch" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/chair/sofa/right{ @@ -2630,24 +2302,49 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/tram) -"bda" = ( -/obj/effect/decal/cleanable/dirt, +"bcZ" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/arrow_ccw, /obj/structure/cable, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) +"bdb" = ( +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"bdJ" = ( -/obj/structure/frame/machine, -/obj/item/circuitboard/machine/smes, -/obj/item/stack/cable_coil/five, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"bem" = ( -/obj/structure/cable, -/turf/closed/wall, -/area/station/maintenance/department/engine) +/turf/open/floor/iron/textured_half, +/area/station/engineering/atmos) +"bdd" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/manifold/general/visible, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 8 + }, +/obj/machinery/meter, +/turf/open/floor/iron, +/area/station/engineering/supermatter/room) +"bed" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/mineral/titanium, +/area/station/command/heads_quarters/ce) +"beg" = ( +/turf/closed/wall/r_wall, +/area/station/engineering/hallway) "ber" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -2672,81 +2369,16 @@ "beK" = ( /turf/open/floor/iron/smooth, /area/station/security/evidence) -"beL" = ( -/obj/structure/railing{ - dir = 9 - }, -/turf/open/floor/plating/airless, -/area/station/engineering/atmospherics_engine) -"beO" = ( -/obj/machinery/atmospherics/components/unary/passive_vent{ - dir = 4; - name = "Engine Exhaust" - }, -/turf/open/floor/plating/airless, -/area/station/engineering/supermatter/room) "bfe" = ( /obj/structure/disposalpipe/segment, /obj/machinery/camera/autoname/directional/west, /obj/machinery/light/warm/directional/west, /turf/open/floor/iron/white, /area/station/science/cytology) -"bfj" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 4 - }, -/obj/structure/table/reinforced/titaniumglass, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high, +"bfs" = ( +/obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) -"bfo" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"bft" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine) -"bfy" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/nitrous_output{ - dir = 4 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/engine/n2o, -/area/station/ai_monitored/turret_protected/ai) -"bfF" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/sand/plating, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"bfG" = ( -/obj/structure/railing{ - dir = 9 - }, -/turf/open/misc/asteroid/airless, -/area/station/engineering/atmospherics_engine) +/area/station/maintenance/disposal/incinerator) "bfI" = ( /obj/structure/table/wood, /obj/effect/turf_decal/tile/brown/full, @@ -2760,30 +2392,29 @@ /obj/effect/mapping_helpers/requests_console/supplies, /turf/open/floor/iron/smooth_large, /area/station/service/bar) -"bfN" = ( -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/plating/airless, -/area/station/engineering/atmospherics_engine) -"bfX" = ( -/obj/structure/railing{ - dir = 5 - }, -/turf/open/misc/asteroid/airless, -/area/station/engineering/atmospherics_engine) -"bfZ" = ( -/obj/machinery/power/emitter{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +"bgn" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Atmospherics Maintenance" }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, -/area/station/engineering/supermatter/room) +/area/station/maintenance/department/electrical) "bgp" = ( /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood/tile, /area/station/service/lawoffice) +"bgq" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/pump, +/obj/effect/turf_decal/stripes/white/end{ + name = "blue"; + color = "#6495ED"; + dir = 1 + }, +/turf/open/floor/iron/dark/small, +/area/station/engineering/lobby) "bgA" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/small, @@ -2796,6 +2427,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"bgE" = ( +/obj/structure/chair/sofa/bench/left{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "bgK" = ( /obj/structure/sink/kitchen/directional/east, /obj/machinery/light_switch/directional/west, @@ -2807,12 +2447,20 @@ }, /turf/open/floor/iron/dark/small, /area/station/tcommsat/server) -"bhc" = ( -/obj/structure/reflector/box{ - dir = 1 +"bhb" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/corner{ + dir = 8 + }, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth, +/area/station/engineering/engine_smes) "bho" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 4 @@ -2825,24 +2473,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) -"bhR" = ( -/obj/machinery/door/airlock/engineering{ - name = "Main Engine" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/turf/open/floor/iron/small, -/area/station/engineering/main) -"bhV" = ( -/obj/machinery/portable_atmospherics/canister/plasma, -/obj/effect/turf_decal/stripes/white/line{ - dir = 6 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos) "bio" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -2859,24 +2489,16 @@ /obj/machinery/holopad, /turf/open/floor/iron/white/small, /area/station/science/lobby) -"bjf" = ( -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/rods/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/stock_parts/cell/high, -/obj/item/stack/sheet/mineral/plasma{ - amount = 30 +"bja" = ( +/obj/structure/railing/corner/end/flip{ + dir = 8 }, -/obj/item/gps, -/obj/structure/closet/crate/engineering, -/obj/effect/turf_decal/stripes/white/line{ - dir = 10 +/obj/structure/railing/corner/end{ + dir = 4 }, -/obj/machinery/light/dim/directional/north, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos) +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/small, +/area/station/engineering/lobby) "bjp" = ( /obj/structure/cable, /obj/structure/rack, @@ -2889,13 +2511,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"bjx" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Garbage Incinerator Access" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "bjL" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/table, @@ -2971,14 +2586,20 @@ /obj/structure/cable, /turf/open/floor/iron/small, /area/station/security/office) -"bkz" = ( -/turf/open/misc/asteroid/airless, -/area/station/engineering/atmospherics_engine) -"bkH" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/turf_decal/box, -/turf/open/floor/plating/airless, -/area/station/engineering/atmospherics_engine) +"bkI" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 5 + }, +/obj/machinery/status_display/evac/directional/south, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"bkO" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Pure to Mix" + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "bkY" = ( /obj/machinery/requests_console/directional/west{ department = "Chief Medical Officer's Desk"; @@ -3042,13 +2663,6 @@ /obj/structure/closet/crate/miningcar, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"blG" = ( -/obj/effect/turf_decal/box/white{ - color = "#52B4E9" - }, -/obj/effect/turf_decal/arrows/white, -/turf/open/floor/plating/airless, -/area/station/engineering/atmospherics_engine) "blJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -3063,20 +2677,17 @@ }, /turf/open/floor/iron/smooth_large, /area/station/science/auxlab/firing_range) -"bmk" = ( -/obj/machinery/suit_storage_unit/atmos, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/turf/open/floor/iron, -/area/station/engineering/atmospherics_engine) -"bmn" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/west, +"blZ" = ( /obj/effect/turf_decal/stripes/line{ - dir = 8 + dir = 4 }, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "bmr" = ( /obj/structure/cable, /obj/machinery/telecomms/broadcaster/preset_right, @@ -3107,11 +2718,18 @@ /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"bmP" = ( +"bmN" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, /obj/effect/decal/cleanable/dirt, -/obj/item/wrench, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/stairs, +/area/station/maintenance/department/engine/atmos) "bmT" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 4 @@ -3119,19 +2737,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/tram, /area/station/security/tram) -"bnc" = ( -/obj/structure/table/reinforced/titaniumglass, -/obj/item/pipe_dispenser, -/obj/item/pipe_dispenser{ - pixel_x = 10; - pixel_y = 7 - }, -/turf/open/floor/iron/small, -/area/station/engineering/supermatter/room) -"bng" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) "bnh" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -3153,6 +2758,15 @@ /obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"bnq" = ( +/obj/machinery/door/airlock/engineering{ + name = "Decomissioned Airlock" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/abandoned, +/turf/open/floor/iron/textured_half, +/area/station/engineering/engine_smes) "bnr" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -3164,6 +2778,16 @@ /obj/structure/cable, /turf/open/floor/iron/showroomfloor, /area/station/medical/surgery/theatre) +"bnV" = ( +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/machinery/computer/security{ + dir = 8 + }, +/turf/open/floor/iron/smooth, +/area/station/security/checkpoint/engineering) "bob" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/south, @@ -3195,12 +2819,6 @@ }, /turf/open/floor/circuit/green, /area/station/science/robotics/mechbay) -"boL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/small, -/area/station/engineering/main) "boW" = ( /obj/structure/table/glass, /obj/machinery/status_display/ai/directional/south, @@ -3223,13 +2841,16 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"bpg" = ( -/obj/machinery/power/emitter, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 +"bpe" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/machinery/camera/directional/west, +/obj/structure/sign/warning/pods/directional/west, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos) +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "bpl" = ( /obj/machinery/flasher/directional/north{ id = "IsolationFlash" @@ -3237,13 +2858,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/white/small, /area/station/security/execution/education) -"bpm" = ( -/obj/machinery/field/generator, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos) "bpo" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -3258,13 +2872,20 @@ /obj/machinery/light/broken/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"bpG" = ( -/obj/machinery/field/generator, -/obj/effect/turf_decal/stripes/white/line{ +"bpv" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 4 }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos) +/obj/machinery/door/airlock/atmos/glass{ + name = "Air Mix" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/structure/cable, +/turf/open/floor/iron/textured_half{ + dir = 1 + }, +/area/station/engineering/atmos/pumproom) "bpI" = ( /obj/structure/table, /obj/item/storage/box/donkpockets, @@ -3298,11 +2919,34 @@ /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, /area/station/maintenance/department/engine) +"bqu" = ( +/obj/structure/table, +/obj/item/stack/ore/silver{ + pixel_y = 16 + }, +/obj/item/stack/ore/titanium{ + pixel_y = 10; + pixel_x = -4 + }, +/obj/item/stack/ore/diamond{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/stack/ore/iron, +/obj/item/stack/ore/plasma{ + pixel_y = -8 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "bqy" = ( /turf/open/floor/engine{ name = "Holodeck Projector Floor" }, /area/station/holodeck/rec_center) +"bqD" = ( +/mob/living/basic/slime, +/turf/open/floor/engine, +/area/station/science/xenobiology) "bqE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -3317,15 +2961,17 @@ /obj/structure/closet/crate/mod, /turf/open/floor/iron/white, /area/station/science/robotics/augments) -"bqZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine) "brb" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/security/prison/workout) +"bre" = ( +/obj/structure/lattice, +/obj/structure/transit_tube/crossing/horizontal{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) "bro" = ( /obj/structure/frame/machine, /turf/open/floor/tram, @@ -3360,6 +3006,19 @@ /obj/vehicle/ridden/scooter/skateboard/hoverboard, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"brC" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer5{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer1{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/engineering/atmos) "brD" = ( /obj/machinery/airalarm/directional/west, /obj/effect/turf_decal/tile/neutral{ @@ -3390,15 +3049,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white/small, /area/station/security/warden) -"bst" = ( -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/machinery/door/airlock/external{ - name = "Escape Pod Three"; - space_dir = 1 +"bsn" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 8 }, -/turf/open/floor/iron/small, -/area/station/maintenance/department/engine) +/obj/structure/railing/corner, +/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/visible, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "bsu" = ( /obj/structure/barricade/wooden/crude, /obj/effect/mapping_helpers/broken_floor, @@ -3420,32 +3079,20 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"bsz" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +"bsG" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{ + dir = 4 }, -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 8; - name = "Gas to Cold Loop" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) -"bsF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/door/window/brigdoor/security/cell/left/directional/east{ - id = "engicell"; - name = "Cell Door"; - req_access = list("security") - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/engineering/break_room) +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/start/chief_engineer, +/turf/open/floor/catwalk_floor, +/area/station/engineering/main) "bsI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -3453,18 +3100,15 @@ dir = 4 }, /area/station/maintenance/starboard/greater) +"bsJ" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/reagent_dispensers/fueltank/large, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "bsP" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"bsQ" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/arrows{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/station/engineering/atmospherics_engine) "btf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -3477,9 +3121,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/warden) -"btC" = ( -/turf/closed/mineral/random/stationside, -/area/station/engineering/atmos/project) "btG" = ( /obj/structure/rack, /obj/effect/turf_decal/delivery/white, @@ -3487,21 +3128,14 @@ /obj/item/airlock_painter/decal, /turf/open/floor/iron/smooth, /area/station/cargo/sorting) -"btL" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/turf_decal/stripes/box, -/turf/open/floor/plating/airless, -/area/station/engineering/atmospherics_engine) -"btP" = ( -/obj/machinery/door/airlock/external/glass{ - name = "ATMOS PROJECT Airlock" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ +"btV" = ( +/obj/effect/turf_decal/siding/wideplating, +/obj/structure/railing/corner, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/turf/open/floor/iron/small, -/area/station/engineering/atmospherics_engine) +/turf/open/floor/wood, +/area/station/engineering/main) "buk" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -3514,9 +3148,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/stone, /area/station/service/theater) -"buy" = ( -/turf/open/floor/iron/small, -/area/station/engineering/atmospherics_engine) "buA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -3530,23 +3161,6 @@ dir = 8 }, /area/station/science/xenobiology) -"buI" = ( -/obj/machinery/door/airlock/external/glass{ - name = "ATMOS PROJECT Airlock" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/turf/open/floor/iron/small, -/area/station/engineering/atmospherics_engine) -"buN" = ( -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/turf/open/floor/iron, -/area/station/engineering/atmospherics_engine) "buO" = ( /obj/machinery/computer/slot_machine{ pixel_y = 2 @@ -3555,30 +3169,12 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/carpet/orange, /area/station/service/abandoned_gambling_den) -"buS" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/east, -/obj/effect/turf_decal/stripes/white/line{ - dir = 5 - }, -/obj/machinery/power/energy_accumulator/tesla_coil/anchored, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "buV" = ( /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 4 }, /turf/open/floor/iron/dark, /area/station/medical/chemistry) -"buW" = ( -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/atmospheric_technician, -/turf/open/floor/iron, -/area/station/engineering/atmospherics_engine) "bvh" = ( /obj/structure/chair/sofa/bench/right{ dir = 8 @@ -3588,6 +3184,9 @@ dir = 4 }, /area/station/hallway/secondary/entry) +"bvt" = ( +/turf/closed/mineral/random/stationside, +/area/station/maintenance/department/electrical) "bvK" = ( /obj/effect/turf_decal/siding/red{ dir = 9 @@ -3598,25 +3197,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white/small, /area/station/security/warden) -"bvT" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/engineering/atmospherics_engine) -"bwg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/energy_accumulator/tesla_coil/anchored, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) "bwz" = ( /obj/effect/spawner/random/entertainment/arcade, /obj/machinery/light/cold/directional/north, @@ -3629,11 +3209,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/prison/rec) -"bwJ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/small, -/area/station/engineering/main) "bwY" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, @@ -3645,33 +3220,20 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"bxc" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 +"bxu" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 1 }, -/obj/structure/table/reinforced/titaniumglass, -/obj/structure/sign/poster/official/random/directional/north, -/obj/item/radio/intercom/directional/west, -/obj/effect/decal/cleanable/cobweb, -/obj/item/stack/cable_coil{ - pixel_x = 3; - pixel_y = -7 +/obj/machinery/button/door/directional/west{ + id = "Secure Storage"; + name = "Engineering Secure Storage"; + pixel_y = 24; + req_access = list("engine_equip") }, -/turf/open/floor/iron/smooth_corner, -/area/station/maintenance/disposal/incinerator) -"bxq" = ( -/obj/structure/closet/emcloset, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine) -"bxx" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 10 +/turf/open/floor/iron/corner{ + dir = 8 }, -/obj/structure/window/reinforced/plasma/spawner/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/station/maintenance/department/engine) +/area/station/engineering/main) "bxA" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/neutral/end{ @@ -3679,12 +3241,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"bxH" = ( -/obj/structure/railing{ - dir = 10 - }, -/turf/open/floor/plating/airless, -/area/station/engineering/atmospherics_engine) "bxI" = ( /obj/structure/cable, /obj/structure/disposalpipe/sorting/mail/flip{ @@ -3697,12 +3253,6 @@ dir = 6 }, /area/station/science/lower) -"bxN" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/turf_decal/box/white, -/obj/effect/turf_decal/arrows/white, -/turf/open/floor/plating/airless, -/area/station/engineering/atmospherics_engine) "bxT" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/navigate_destination/dockescpod, @@ -3712,12 +3262,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"byk" = ( -/obj/structure/railing{ - dir = 6 - }, -/turf/open/floor/plating/airless, -/area/station/engineering/atmospherics_engine) "byq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -3751,43 +3295,6 @@ /obj/effect/gibspawner, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) -"byV" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron, -/area/station/engineering/atmospherics_engine) -"bzf" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/engineering/atmospherics_engine) -"bzn" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/machinery/firealarm/directional/east, -/obj/structure/rack, -/obj/item/mod/module/plasma_stabilizer, -/obj/item/mod/module/signlang_radio, -/obj/item/mod/module/thermal_regulator, -/turf/open/floor/iron, -/area/station/engineering/atmospherics_engine) -"bzs" = ( -/obj/machinery/power/energy_accumulator/tesla_coil/anchored, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) -"bzv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/power/emitter{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) "bzL" = ( /obj/machinery/flasher/portable, /obj/effect/turf_decal/stripes/line{ @@ -3797,28 +3304,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/security/tram) -"bzM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/small, -/area/station/engineering/atmos) -"bzT" = ( -/obj/machinery/shower/directional/east, -/obj/effect/turf_decal/siding/wideplating/dark/end{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth_half{ - dir = 1 - }, -/area/station/engineering/atmos) "bzZ" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, @@ -3829,16 +3314,6 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"bAi" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/filingcabinet/chestdrawer, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/smooth_edge{ - dir = 8 - }, -/area/station/maintenance/disposal/incinerator) "bAo" = ( /obj/machinery/atmospherics/pipe/smart/simple/general/visible{ dir = 4 @@ -3847,13 +3322,6 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/engine, /area/station/science/xenobiology) -"bAq" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/supermatter/room) "bAs" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -3866,19 +3334,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) -"bAK" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/item/kirbyplants/random, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"bAL" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "bAT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/siding/wood{ @@ -3886,18 +3341,20 @@ }, /turf/open/floor/wood, /area/station/hallway/secondary/entry) -"bBa" = ( -/obj/machinery/door/airlock/external/glass, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/turf/open/floor/plating/airless, -/area/station/maintenance/department/engine) -"bBf" = ( -/obj/structure/railing{ - dir = 10 +"bAU" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/portable_atmospherics/canister/plasma, +/turf/open/floor/plating, +/area/station/engineering/atmos/storage/gas) +"bBd" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/grunge{ + name = "Turbine" }, -/turf/open/misc/asteroid/airless, -/area/station/engineering/atmospherics_engine) +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/disposal/incinerator) "bBk" = ( /obj/effect/turf_decal/tile/dark_red, /obj/structure/cable, @@ -3912,16 +3369,6 @@ /obj/machinery/door/window/brigdoor/right/directional/north, /turf/open/floor/iron/dark, /area/station/security/processing) -"bBl" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/turf_decal/arrows{ - dir = 4 - }, -/obj/structure/railing{ - dir = 6 - }, -/turf/open/floor/plating/airless, -/area/station/engineering/atmospherics_engine) "bBr" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -3944,6 +3391,10 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmospherics_engine) +"bBX" = ( +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "bCf" = ( /obj/machinery/computer/shuttle/labor{ dir = 8 @@ -3974,21 +3425,6 @@ dir = 1 }, /area/station/cargo/bitrunning/den) -"bCi" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/machinery/atmospherics/components/binary/crystallizer{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/atmospherics_engine) -"bCl" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/structure/window/reinforced/plasma/spawner/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/station/maintenance/department/engine) "bCn" = ( /obj/effect/turf_decal/tile/blue, /obj/structure/extinguisher_cabinet/directional/west, @@ -4000,11 +3436,6 @@ dir = 1 }, /area/station/hallway/secondary/construction) -"bCu" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/engineering/atmospherics_engine) "bCG" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -4016,13 +3447,6 @@ /obj/structure/cable, /turf/open/floor/iron/small, /area/station/security/office) -"bCM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/engineering/atmospherics_engine) "bCQ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -4048,6 +3472,17 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) +"bDh" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 5 + }, +/obj/effect/turf_decal/tile/yellow/diagonal_centre, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/iron/diagonal, +/area/station/engineering/lobby) "bDj" = ( /obj/effect/landmark/start/medical_doctor, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -4091,17 +3526,12 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) -"bDP" = ( -/obj/effect/turf_decal/stripes/end{ - dir = 4 +"bDO" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 10 }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "bDQ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -4113,24 +3543,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/commons/storage/tools) -"bDU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/smes/full, -/obj/structure/cable, -/turf/open/floor/circuit, -/area/station/tcommsat/server) "bEd" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"bEi" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/turf/open/floor/iron, -/area/station/engineering/atmospherics_engine) "bEw" = ( /obj/structure/sign/directions/supply{ dir = 1; @@ -4162,16 +3579,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/processing) -"bEG" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 1; - name = "Engine Coolant Bypass" - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "bEN" = ( /obj/structure/chair/sofa/bench/left{ dir = 4 @@ -4184,19 +3591,10 @@ dir = 1 }, /area/station/hallway/secondary/entry) -"bFb" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/structure/cable, -/obj/machinery/door/airlock/atmos{ - name = "Atmospherics Project EVA Prep Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/turf/open/floor/iron/textured_half{ - dir = 1 - }, -/area/station/engineering/atmospherics_engine) +"bEW" = ( +/obj/effect/spawner/structure/window/reinforced/shuttle, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "bFg" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -4207,34 +3605,31 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron, /area/station/commons/dorms) +"bFr" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/item/kirbyplants/random, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "bFw" = ( /obj/machinery/telecomms/server/presets/science, /turf/open/floor/circuit, /area/station/tcommsat/server) -"bFM" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 4 +"bFR" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Maintenance" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/engineering/main) +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "bFW" = ( /obj/structure/rack, /obj/effect/spawner/random/techstorage/rnd_all, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"bGc" = ( -/obj/machinery/modular_computer/preset/civilian{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/directional/south{ - c_tag = "Engineering - Desk" - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/break_room) "bGi" = ( /obj/structure/table/wood, /obj/item/reagent_containers/cup/glass/mug{ @@ -4269,23 +3664,6 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"bGP" = ( -/obj/effect/turf_decal/tile/yellow, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/iron/dark, -/area/station/engineering/main) -"bGT" = ( -/obj/item/clothing/glasses/meson, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/closet/firecloset, -/obj/machinery/firealarm/directional/north, -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating, -/area/station/engineering/main) "bGU" = ( /obj/machinery/door/airlock/mining/glass{ name = "Filing Room" @@ -4300,17 +3678,6 @@ /obj/machinery/chem_heater/withbuffer, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) -"bHd" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Old Engine" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine) "bHs" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance, @@ -4339,23 +3706,18 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/carpet/blue, /area/station/cargo/boutique) -"bHW" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 4 +"bIg" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/camera/directional/south{ + c_tag = "Atmospherics - South" }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/secondary/dock) +"bIi" = ( +/obj/machinery/light/small/directional/east, /obj/structure/cable, -/turf/open/floor/iron/dark, +/turf/open/floor/iron/smooth_large, /area/station/engineering/main) -"bIf" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/south, -/obj/effect/turf_decal/stripes/white/line{ - dir = 5 - }, -/turf/open/floor/engine, -/area/station/maintenance/department/engine) "bIp" = ( /obj/structure/flora/bush/large/style_random{ pixel_x = -28; @@ -4366,25 +3728,6 @@ /obj/structure/window/spawner/directional/south, /turf/open/misc/sandy_dirt, /area/station/science/research) -"bIG" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/power/terminal, -/obj/effect/turf_decal/trimline/yellow/arrow_cw{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/maintenance/department/engine) -"bIW" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/iron/dark, -/area/station/engineering/main) "bJw" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/broken_flooring/singular/directional/south, @@ -4392,14 +3735,30 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"bJK" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"bJN" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/radio/intercom/directional/west, +/obj/machinery/status_display/evac/directional/south, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "bJZ" = ( /obj/structure/chair/stool/directional/south, /turf/open/floor/iron, /area/station/security/prison/workout) -"bKu" = ( -/obj/effect/spawner/random/trash, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +"bKl" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wideplating, +/turf/open/floor/wood, +/area/station/engineering/main) "bKz" = ( /obj/structure/disposalpipe/junction{ dir = 4 @@ -4455,6 +3814,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"bLu" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "bLN" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/start/scientist, @@ -4467,14 +3834,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/dark, /area/station/science/xenobiology) -"bMq" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "bMt" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -4482,16 +3841,6 @@ }, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"bMN" = ( -/obj/machinery/button/door/directional/west{ - id = "Secure Storage"; - name = "Engineering Secure Storage"; - pixel_y = 24; - req_access = list("engine_equip") - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/small, -/area/station/engineering/atmos) "bMW" = ( /obj/machinery/iv_drip, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -4523,34 +3872,6 @@ "bNq" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/engine/atmos) -"bNu" = ( -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/structure/railing{ - dir = 10 - }, -/obj/effect/turf_decal/stripes/box, -/obj/effect/turf_decal/siding/white{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/plating, -/area/station/engineering/break_room) -"bNG" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Old Engine" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"bNJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/small, -/area/station/engineering/atmos) "bNK" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -4593,18 +3914,16 @@ }, /turf/open/floor/catwalk_floor/flat_white, /area/station/science/cubicle) -"bOe" = ( -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/engineering/atmos) +"bOa" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/frame/machine, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) +"bOb" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, +/turf/open/floor/engine, +/area/station/maintenance/disposal/incinerator) "bOl" = ( /obj/structure/flora/bush/flowers_br/style_random, /turf/open/floor/grass, @@ -4622,25 +3941,10 @@ dir = 4 }, /area/station/hallway/primary/central/fore) -"bOs" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/smooth_edge{ - dir = 8 - }, -/area/station/maintenance/disposal/incinerator) "bOH" = ( /obj/structure/falsewall, /turf/open/floor/plating, /area/station/maintenance/central/lesser) -"bOL" = ( -/obj/machinery/door/airlock/external/glass, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "bOR" = ( /obj/machinery/light/small/directional/west, /obj/structure/flora/bush/flowers_yw, @@ -4671,11 +3975,10 @@ dir = 1 }, /area/station/hallway/secondary/dock) -"bQh" = ( -/obj/structure/closet/emcloset, -/obj/item/reagent_containers/pill/maintenance, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine) +"bPU" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/purple/visible, +/turf/open/floor/iron, +/area/station/engineering/atmos) "bQi" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine, @@ -4696,13 +3999,16 @@ /obj/machinery/computer/records/security, /turf/open/floor/wood/tile, /area/station/command/bridge) -"bQU" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"bRc" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, +/obj/machinery/light/small/directional/west, +/obj/structure/sign/warning/doors/directional/west, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos) +"bRf" = ( +/obj/effect/turf_decal/sand/plating, +/obj/effect/spawner/random/structure/steam_vent, +/obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/department/engine) "bRg" = ( @@ -4724,16 +4030,6 @@ /obj/structure/alien/weeds, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) -"bRo" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine) "bRr" = ( /obj/structure/chair{ dir = 1; @@ -4747,11 +4043,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs/auxiliary) -"bRA" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/grille, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "bRN" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 @@ -4759,19 +4050,13 @@ /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/tram, /area/station/maintenance/port/aft) -"bSj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"bSn" = ( +"bSm" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /obj/structure/disposalpipe/segment{ - dir = 10 + dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "bSo" = ( /turf/open/space/basic, /area/space/nearstation) @@ -4779,6 +4064,13 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) +"bSv" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 6 + }, +/turf/open/space/basic, +/area/space/nearstation) "bSH" = ( /obj/structure/cable, /obj/machinery/power/solar_control{ @@ -4796,35 +4088,20 @@ }, /turf/closed/wall, /area/station/ai_monitored/turret_protected/ai) -"bTa" = ( -/obj/structure/railing, -/turf/open/floor/plating/airless, -/area/station/engineering/atmospherics_engine) -"bTg" = ( -/obj/structure/table/reinforced/titaniumglass, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/item/hfr_box/core, -/obj/item/hfr_box/corner, -/obj/item/hfr_box/corner, -/obj/item/hfr_box/corner, -/obj/item/hfr_box/corner, -/obj/item/hfr_box/body/waste_output, -/obj/item/hfr_box/body/moderator_input, -/obj/item/hfr_box/body/interface, -/obj/item/hfr_box/body/fuel_input, -/turf/open/floor/iron, -/area/station/engineering/atmospherics_engine) -"bTv" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +"bTd" = ( +/obj/structure/lattice, +/obj/structure/transit_tube/crossing/horizontal{ dir = 1 }, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/turf/open/floor/iron, -/area/station/engineering/atmospherics_engine) -"bTN" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/turf/open/floor/iron, -/area/station/engineering/atmospherics_engine) +/turf/open/space/basic, +/area/space/nearstation) +"bTJ" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/smart/simple/brown/visible{ + dir = 5 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "bUf" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -4838,18 +4115,6 @@ /obj/machinery/light/cold/directional/east, /turf/open/floor/iron, /area/station/service/hydroponics) -"bUk" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine) -"bUl" = ( -/obj/effect/landmark/start/station_engineer, -/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ - dir = 8; - filter_type = list(/datum/gas/nitrogen) - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "bUr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/blue{ @@ -4879,16 +4144,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/medical/medbay/aft) -"bUy" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/atmos{ - name = "Atmospherics Project EVA Prep Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/turf/open/floor/iron/textured_half{ - dir = 1 - }, -/area/station/engineering/atmospherics_engine) "bUz" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -4929,20 +4184,11 @@ /obj/machinery/light/cold/directional/west, /turf/open/floor/tram, /area/station/security/tram) -"bUX" = ( -/obj/effect/turf_decal/tile/yellow, -/turf/open/floor/iron/dark, -/area/station/engineering/main) "bVk" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/chair/stool/directional/east, /turf/open/floor/carpet/orange, /area/station/service/abandoned_gambling_den) -"bVs" = ( -/obj/effect/turf_decal/tile/yellow, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/engineering/main) "bVv" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -5001,6 +4247,21 @@ /obj/item/clothing/suit/hooded/wintercoat/science, /turf/open/floor/iron/dark/small, /area/station/science/xenobiology) +"bWg" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/brown/visible, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "bWh" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -5035,6 +4296,20 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/genetics) +"bWk" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) +"bWl" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 10 + }, +/turf/open/space/basic, +/area/space/nearstation) "bWs" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -5047,21 +4322,11 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"bWJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine) -"bWZ" = ( -/obj/effect/turf_decal/tile/yellow, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron/dark, -/area/station/engineering/main) +"bXb" = ( +/obj/effect/turf_decal/sand/plating, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "bXu" = ( /obj/item/kirbyplants/random, /obj/machinery/firealarm/directional/south, @@ -5090,13 +4355,17 @@ }, /turf/open/floor/iron/white/small, /area/station/medical/storage) -"bXV" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +"bYe" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/line, +/obj/effect/turf_decal/trimline/yellow/corner{ dir = 8 }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron/small, -/area/station/engineering/atmos) +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) "bYf" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/turf_decal/stripes/line{ @@ -5108,12 +4377,15 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron/white/small, /area/station/science/cubicle) -"bYE" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine) +"bYl" = ( +/obj/effect/turf_decal/tile/brown, +/obj/machinery/light/small/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/engineering/hallway) "bYS" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ @@ -5121,6 +4393,19 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"bYY" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 4 + }, +/obj/machinery/door/airlock/atmos/glass{ + name = "Air Mix" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/turf/open/floor/iron/textured_half{ + dir = 1 + }, +/area/station/engineering/atmos/pumproom) "bZs" = ( /obj/structure/table, /obj/item/reagent_containers/cup/glass/drinkingglass, @@ -5166,6 +4451,12 @@ }, /turf/open/floor/iron/smooth_large, /area/station/science/robotics/mechbay) +"bZQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "cam" = ( /obj/machinery/flasher/directional/east{ id = "AI"; @@ -5180,6 +4471,13 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"caB" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/obj/machinery/atmospherics/pipe/smart/simple/pink/visible{ + dir = 9 + }, +/turf/open/floor/plating, +/area/station/engineering/supermatter) "caI" = ( /obj/structure/cable, /obj/effect/decal/cleanable/glass, @@ -5213,6 +4511,13 @@ }, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) +"cbj" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/iron/edge{ + dir = 4 + }, +/area/station/engineering/main) "cbm" = ( /turf/closed/wall/rust, /area/station/ai_monitored/aisat/exterior) @@ -5240,35 +4545,13 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/command/meeting_room) -"cbu" = ( -/obj/machinery/vending/engivend, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron, -/area/station/engineering/break_room) -"cbM" = ( -/obj/structure/table/reinforced/titaniumglass, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/item/stack/sheet/iron/fifty{ - pixel_y = 13 - }, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/cable_coil{ - pixel_x = -1; - pixel_y = 1 - }, -/obj/item/stack/cable_coil{ - pixel_x = -1; - pixel_y = -3 - }, -/turf/open/floor/iron, -/area/station/engineering/atmospherics_engine) -"cbN" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/atmospheric_technician, -/turf/open/floor/iron, -/area/station/engineering/atmospherics_engine) +"cbJ" = ( +/obj/structure/rack, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/clothing/mask/gas, +/turf/open/floor/plating, +/area/station/engineering/atmos/space_catwalk) "cbO" = ( /obj/structure/chair{ dir = 1 @@ -5297,6 +4580,29 @@ }, /turf/open/floor/plating, /area/station/construction/mining/aux_base) +"cbX" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 10 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold/dark/visible, +/turf/open/floor/iron/smooth, +/area/station/maintenance/disposal/incinerator) +"cca" = ( +/obj/structure/table/reinforced, +/obj/machinery/coffeemaker{ + pixel_y = 2 + }, +/obj/item/coffee_cartridge{ + pixel_y = 8; + pixel_x = -4 + }, +/obj/effect/turf_decal/bot, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/small, +/area/station/engineering/break_room) "ccs" = ( /obj/effect/turf_decal/tile/dark_red/fourcorners, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -5304,6 +4610,23 @@ }, /turf/open/floor/iron, /area/station/security/execution/transfer) +"ccu" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/o2{ + dir = 4 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) +"ccx" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 6 + }, +/turf/open/space/basic, +/area/space/nearstation) "ccD" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -5322,33 +4645,52 @@ /obj/machinery/door/firedoor, /turf/open/floor/catwalk_floor/iron_dark, /area/station/tcommsat/server) -"ccK" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/iron, -/area/station/engineering/atmospherics_engine) -"ccN" = ( -/obj/machinery/door/airlock/engineering{ - name = "Engineering Gear Storage" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/engine_equipment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"ccG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/structure/cable, -/turf/open/floor/iron/textured_half, -/area/station/engineering/main) -"cdf" = ( -/obj/structure/reflector/single{ - dir = 9 +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light/cold/dim/directional/east, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) +"ccL" = ( +/obj/structure/closet/firecloset, +/obj/machinery/light_switch/directional/north, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/radio/off{ + pixel_x = 1; + pixel_y = 3 }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/structure/cable, -/turf/open/floor/plating, +/turf/open/floor/plating/rust, /area/station/engineering/supermatter/room) +"ccO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible, +/obj/structure/table, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new/dark, +/obj/item/radio/intercom/directional/south, +/obj/item/c_tube{ + pixel_x = 20 + }, +/obj/item/clothing/head/cone{ + pixel_y = 5; + pixel_x = -6 + }, +/obj/item/clothing/head/cone{ + pixel_y = 7; + pixel_x = -6 + }, +/obj/item/pipe_dispenser{ + pixel_y = 9; + pixel_x = 14 + }, +/obj/item/clothing/mask/cigarette{ + pixel_y = 2 + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/pumproom) "cdg" = ( /obj/machinery/light/small/directional/west, /turf/open/floor/grass, @@ -5361,44 +4703,19 @@ /obj/structure/broken_flooring/pile/directional/east, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"cdt" = ( -/obj/effect/turf_decal/stripes/red/line, -/obj/structure/chair{ - pixel_y = -2 - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron/dark, -/area/station/maintenance/department/engine/atmos) -"cdB" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/corner, -/obj/machinery/airalarm/directional/west, -/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ +"cdz" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/light/cold/dim/directional/west, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, -/turf/open/floor/iron/smooth_edge{ - dir = 8 - }, -/area/station/maintenance/disposal/incinerator) +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "cdW" = ( /obj/structure/cable, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/disposal/incinerator) -"cdZ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "cea" = ( /obj/structure/window/spawner/directional/south, /turf/open/space/basic, @@ -5412,6 +4729,15 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"ceA" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/stripes/white/line{ + dir = 5 + }, +/obj/machinery/airalarm/directional/south, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark/small, +/area/station/engineering/supermatter/room) "ceE" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -5423,11 +4749,20 @@ /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, /turf/open/floor/plating, /area/station/maintenance/central/greater) -"ceK" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/bed/medical/emergency, -/turf/open/floor/iron/dark, -/area/station/medical/medbay/central) +"ceP" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 4 + }, +/obj/structure/table/reinforced/titaniumglass, +/obj/item/radio/intercom/directional/east, +/obj/machinery/fax{ + fax_name = "Chief Engineer's Office"; + name = "Chief Engineer's Fax Machine"; + pixel_y = 7 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "ceZ" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -5461,6 +4796,25 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/security/tram) +"cgh" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Waste to Starboard Filter"; + dir = 1 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) +"cgt" = ( +/obj/effect/turf_decal/sand/plating, +/obj/effect/decal/cleanable/garbage, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "cgy" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 4 @@ -5468,20 +4822,24 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/smooth_large, /area/station/science/auxlab/firing_range) +"cgz" = ( +/obj/machinery/door/airlock/atmos{ + name = "DECOMISSIONED" + }, +/obj/structure/barricade/wooden/crude, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/turf/open/floor/iron/textured_half{ + dir = 1 + }, +/area/station/engineering/atmospherics_engine) "cgM" = ( /turf/open/misc/asteroid, /area/station/maintenance/starboard/greater) -"cgO" = ( -/obj/structure/closet/secure_closet/atmospherics, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/machinery/light/directional/south, -/turf/open/floor/iron, -/area/station/engineering/atmospherics_engine) -"cgU" = ( -/obj/structure/closet/secure_closet/atmospherics, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/turf/open/floor/iron, -/area/station/engineering/atmospherics_engine) "cgY" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/button/door/directional/east{ @@ -5508,10 +4866,43 @@ }, /turf/open/floor/iron/white/small, /area/station/medical/storage) +"chb" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"chf" = ( +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/plating, +/area/station/engineering/atmospherics_engine) +"chj" = ( +/obj/structure/grille, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/station/engineering/atmos/space_catwalk) "chp" = ( /obj/structure/cable, /turf/closed/wall/r_wall, /area/station/hallway/primary/aft) +"chr" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible, +/obj/machinery/atmospherics/pipe/bridge_pipe/orange/visible{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) "chO" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -5559,6 +4950,20 @@ /obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"cjz" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow/diagonal_centre, +/obj/structure/railing/corner, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/diagonal, +/area/station/engineering/lobby) +"cjP" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "cjR" = ( /obj/structure/disposalpipe/segment, /obj/structure/plasticflaps/opaque, @@ -5591,6 +4996,15 @@ /obj/structure/barricade/wooden/crude, /turf/open/floor/noslip, /area/station/maintenance/department/medical/central) +"ckI" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/oxygen_output{ + dir = 1 + }, +/turf/open/floor/engine/o2, +/area/station/engineering/atmos/space_catwalk) "ckL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -5613,6 +5027,21 @@ }, /turf/open/floor/iron/dark/small, /area/station/medical/chemistry) +"cla" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Atmospherics - Distribution" + }, +/obj/structure/cable, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/pumproom) "clb" = ( /obj/structure/chair/stool/directional/north, /turf/open/floor/iron/kitchen/small, @@ -5624,13 +5053,6 @@ }, /turf/open/floor/iron/grimy, /area/station/service/theater) -"cld" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/small, -/area/station/engineering/main) "clf" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -5653,22 +5075,10 @@ /obj/structure/cable, /turf/open/floor/iron/white/small, /area/station/command/heads_quarters/cmo) -"clH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/machinery/firealarm/directional/north, -/obj/item/clothing/head/cone{ - pixel_x = 16; - pixel_y = 11 - }, -/turf/open/floor/iron/small, -/area/station/engineering/main) -"clJ" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +"clX" = ( +/obj/structure/railing/corner, +/turf/open/floor/wood, +/area/station/engineering/atmos/office) "clZ" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -5685,6 +5095,20 @@ "cmf" = ( /turf/closed/wall/rust, /area/station/maintenance/department/engine/atmos) +"cmu" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing/corner, +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 9 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "cmw" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -5704,12 +5128,6 @@ /obj/structure/barricade/wooden/crude, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"cmA" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/item/clothing/mask/cigarette/cigar, -/turf/open/floor/iron, -/area/station/maintenance/department/engine/atmos) "cmT" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/effect/decal/cleanable/dirt, @@ -5728,11 +5146,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/station/security/tram) -"cmY" = ( -/mob/living/simple_animal/bot/firebot, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/atmos) "cns" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 5 @@ -5755,62 +5168,17 @@ /obj/machinery/suit_storage_unit/rd, /turf/open/floor/iron/dark/small, /area/station/command/heads_quarters/rd) -"cnL" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 10 +"cnU" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 8 }, -/obj/structure/closet/crate{ - name = "Materials Crate" - }, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/plasteel/fifty, -/obj/item/stack/sheet/plastic/five, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/titaniumglass/fifty, -/obj/item/stack/sheet/mineral/titanium/fifty, -/obj/item/stack/rods/fifty, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos) -"cnM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ +/obj/structure/railing/corner{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/small, -/area/station/engineering/atmos) -"cnS" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/directional/north{ - c_tag = "Engineering - Power Monitoring" - }, -/obj/structure/sign/poster/random/directional/north, -/obj/structure/frame/machine, -/obj/item/circuitboard/machine/pacman, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"cok" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"col" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/small, -/area/station/engineering/atmos) +/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/visible, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "cop" = ( /obj/machinery/portable_atmospherics/canister/anesthetic_mix, /obj/machinery/atmospherics/components/unary/portables_connector/visible{ @@ -5822,25 +5190,15 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/iron/white/small, /area/station/medical/cryo) -"coA" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/obj/machinery/airalarm/directional/west, -/obj/effect/mapping_helpers/airalarm/engine_access, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +"cow" = ( +/turf/closed/wall, +/area/station/engineering/lobby) +"coO" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 4 }, -/obj/effect/mapping_helpers/airalarm/link{ - chamber_id = "engine" - }, -/obj/effect/mapping_helpers/airalarm/tlv_no_checks, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) -"coJ" = ( -/obj/structure/chair/stool/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/small, -/area/station/engineering/engine_smes) +/turf/open/floor/wood, +/area/station/engineering/atmos) "cpc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -5850,16 +5208,6 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron, /area/station/service/hydroponics) -"cpt" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine) "cpA" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -5874,6 +5222,15 @@ /obj/effect/mapping_helpers/airlock/access/any/command/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/engine) +"cpC" = ( +/obj/effect/turf_decal/siding/red{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/nitrogen_input{ + dir = 1 + }, +/turf/open/floor/engine/n2, +/area/station/engineering/atmos/space_catwalk) "cpE" = ( /obj/structure/closet/emcloset, /turf/open/floor/iron, @@ -5906,18 +5263,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/wood/tile, /area/station/command/heads_quarters/hop) -"cpW" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "cqa" = ( /obj/machinery/status_display/ai/directional/west, /turf/open/floor/iron, @@ -5936,11 +5281,6 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/white/side, /area/station/science/xenobiology) -"cqp" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "cqr" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/chapel{ @@ -5957,34 +5297,21 @@ }, /turf/open/floor/plating, /area/station/science/ordnance/storage) -"cqJ" = ( -/obj/machinery/door/airlock/engineering{ - name = "Smoke Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ +"cqM" = ( +/obj/structure/railing{ dir = 8 }, -/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{ + dir = 4 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/textured_half{ - dir = 1 - }, -/area/station/maintenance/department/engine/atmos) -"cqR" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, -/obj/machinery/air_sensor/incinerator_tank, -/turf/open/floor/engine, -/area/station/maintenance/disposal/incinerator) +/turf/open/floor/catwalk_floor, +/area/station/engineering/main) "cqS" = ( /obj/machinery/conveyor{ dir = 4; @@ -5995,12 +5322,6 @@ }, /turf/open/floor/plating, /area/station/service/janitor) -"crm" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/maintenance/disposal/incinerator) "crE" = ( /obj/structure/window/spawner/directional/north, /turf/open/space/basic, @@ -6050,6 +5371,9 @@ /obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"csB" = ( +/turf/open/floor/plating/elevatorshaft, +/area/station/engineering/atmos) "csE" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -6076,6 +5400,17 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat/foyer) +"ctb" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 6 + }, +/obj/effect/turf_decal/tile/yellow/diagonal_centre, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/diagonal, +/area/station/engineering/lobby) "ctq" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -6091,27 +5426,22 @@ }, /turf/open/floor/iron/dark, /area/station/science/genetics) -"ctI" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/portable_atmospherics/canister/air, +"cua" = ( +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/structure/crate, +/obj/item/reagent_containers/cup/soda_cans/lemon_lime, +/obj/item/reagent_containers/cup/soda_cans/lemon_lime{ + pixel_y = 4; + pixel_x = 3 + }, +/obj/item/food/cornchips/purple{ + pixel_y = -3; + pixel_x = -6 + }, +/obj/structure/sign/poster/contraband/random/directional/west, +/obj/machinery/computer/security/telescreen/entertainment/directional/north, /turf/open/floor/plating, -/area/station/maintenance/department/engine) -"ctJ" = ( -/mob/living/simple_animal/slime, -/turf/open/floor/engine, -/area/station/science/xenobiology) -"ctV" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"ctZ" = ( -/obj/effect/turf_decal/tile/yellow, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/engineering/main) +/area/station/maintenance/department/electrical) "cuh" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -6124,11 +5454,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood/tile, /area/station/commons/vacant_room/commissary) -"cuZ" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine/atmos) "cvy" = ( /obj/structure/bed/medical/emergency, /turf/open/floor/iron/dark, @@ -6185,10 +5510,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos) -"cwg" = ( -/mob/living/basic/mining/lobstrosity, -/turf/open/misc/asteroid/airless, -/area/station/engineering/supermatter/room) "cwp" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -6208,37 +5529,6 @@ }, /turf/open/floor/iron/textured_large, /area/station/security/checkpoint/customs) -"cwC" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, -/obj/machinery/door/airlock/maintenance{ - name = "Incinerator Access" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/smooth_half, -/area/station/maintenance/disposal/incinerator) -"cwG" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/obj/structure/table/reinforced/titaniumglass, -/obj/item/folder/yellow{ - pixel_x = 4 - }, -/obj/item/pen{ - pixel_x = 5 - }, -/obj/item/grenade/chem_grenade/smart_metal_foam{ - pixel_x = -7; - pixel_y = 4 - }, -/obj/item/grenade/chem_grenade/smart_metal_foam{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron, -/area/station/engineering/break_room) "cwL" = ( /obj/structure/chair/sofa/bench/left{ dir = 1 @@ -6246,15 +5536,6 @@ /obj/effect/turf_decal/tile/dark_red/opposingcorners, /turf/open/floor/iron, /area/station/security/tram) -"cwR" = ( -/obj/structure/closet/radiation, -/obj/item/clothing/glasses/meson, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/engineering/main) "cwS" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -6271,11 +5552,6 @@ /obj/effect/spawner/structure/window/survival_pod, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/ai) -"cxr" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/emcloset, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "cxy" = ( /obj/structure/cable, /obj/structure/disposalpipe/junction{ @@ -6295,6 +5571,14 @@ }, /turf/open/floor/plating, /area/station/science/cubicle) +"cxQ" = ( +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/door/airlock/atmos{ + name = "Locker Room" + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/office) "cxT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/table/wood, @@ -6330,11 +5614,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"cyp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "cyx" = ( /obj/effect/turf_decal/tile/red/opposingcorners{ dir = 1 @@ -6344,6 +5623,9 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron, /area/station/security/checkpoint/science) +"cyy" = ( +/turf/open/floor/catwalk_floor/titanium, +/area/station/command/heads_quarters/ce) "cyB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6354,6 +5636,32 @@ dir = 8 }, /area/station/hallway/secondary/dock) +"cyG" = ( +/obj/effect/turf_decal/siding/thinplating_new/corner, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark/small, +/area/station/command/heads_quarters/ce) +"cyU" = ( +/obj/effect/spawner/random/structure/table, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"cza" = ( +/obj/effect/turf_decal/tile/yellow/diagonal_centre, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/diagonal, +/area/station/engineering/lobby) "cze" = ( /obj/machinery/turretid{ icon_state = "control_stun"; @@ -6364,6 +5672,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/turret_protected/ai) +"czf" = ( +/obj/effect/turf_decal/stripes/white/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "czg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6381,17 +5696,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/service/greenroom) -"czy" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/table/reinforced/titaniumglass, -/obj/machinery/light/directional/north, -/obj/item/analyzer, -/turf/open/floor/iron/smooth_edge{ - dir = 1 - }, -/area/station/maintenance/disposal/incinerator) "czV" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/machinery/status_display/door_timer{ @@ -6427,10 +5731,6 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/wood/parquet, /area/station/command/heads_quarters/cmo) -"cAh" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/station/maintenance/department/engine) "cAj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6469,45 +5769,39 @@ }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/science/robotics/mechbay) -"cAC" = ( -/obj/structure/reagent_dispensers/fueltank/large, -/obj/effect/decal/cleanable/dirt, +"cBw" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/structure/filingcabinet/chestdrawer, +/obj/item/clothing/glasses/meson{ + pixel_y = 8; + pixel_x = 2 + }, +/obj/machinery/light/small/directional/south, +/obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron, -/area/station/engineering/atmos/storage/gas) -"cBc" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/area/station/command/heads_quarters/ce) +"cBR" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron, +/area/station/engineering/atmos/space_catwalk) +"cBV" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"cBn" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/engineering/glass{ - name = "Abandoned Power Monitoring" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/turf/open/floor/iron/smooth_half{ - dir = 1 - }, -/area/station/maintenance/department/engine) -"cBz" = ( -/obj/machinery/door/airlock/atmos{ - name = "Central Atmospherics" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/station/engineering/atmos/space_catwalk) +"cBX" = ( +/obj/effect/turf_decal/stripes/end{ dir = 8 }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/smooth_half{ - dir = 1 +/obj/structure/transit_tube/horizontal{ + dir = 4 }, -/area/station/engineering/atmos) +/turf/open/floor/plating/airless, +/area/space/nearstation) "cCb" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/white/line{ @@ -6527,14 +5821,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"cCw" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "cCD" = ( /obj/structure/cable, /obj/machinery/door/airlock/maintenance/external{ @@ -6566,17 +5852,6 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark/small, /area/station/medical/chemistry) -"cDa" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Fuel Pipe to Incinerator" - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "cDb" = ( /obj/structure/chair/office{ dir = 4 @@ -6584,21 +5859,6 @@ /obj/effect/landmark/start/head_of_security, /turf/open/floor/carpet/red, /area/station/command/heads_quarters/hos) -"cDh" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/iron/smooth, -/area/station/maintenance/department/engine) -"cDk" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 9 - }, -/turf/open/space/basic, -/area/space/nearstation) "cDt" = ( /obj/structure/chair/comfy/shuttle, /obj/structure/transport/linear/tram, @@ -6647,12 +5907,6 @@ dir = 1 }, /area/station/maintenance/starboard/greater) -"cEc" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/engineering/break_room) "cEn" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, @@ -6671,6 +5925,23 @@ }, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) +"cED" = ( +/obj/structure/railing/corner, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/small, +/area/station/engineering/break_room) +"cEH" = ( +/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/orange/visible, +/obj/effect/landmark/start/station_engineer, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) "cEK" = ( /obj/effect/landmark/start/ai, /obj/item/radio/intercom/directional/south{ @@ -6751,13 +6022,6 @@ /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"cFt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/smooth, -/area/station/maintenance/department/engine) "cFz" = ( /obj/structure/cable/layer3, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6772,35 +6036,6 @@ }, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) -"cFC" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/poddoor/shutters/radiation/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" - }, -/turf/open/floor/plating/rust, -/area/station/engineering/supermatter) -"cFF" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) -"cFI" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/chair/office{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/generic_maintenance_landmark, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "cFR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6821,25 +6056,25 @@ }, /turf/open/floor/iron/small, /area/station/maintenance/port/lesser) +"cGb" = ( +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/rods/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/stock_parts/cell/high, +/obj/item/stack/sheet/mineral/plasma{ + amount = 30 + }, +/obj/item/gps, +/obj/structure/closet/crate/engineering, +/obj/machinery/light/cold/directional/east, +/obj/item/clothing/gloves/color/yellow, +/turf/open/floor/iron/dark/small, +/area/station/engineering/storage_shared) "cGj" = ( /turf/closed/wall/r_wall, /area/station/security/execution/education) -"cGy" = ( -/obj/machinery/atmospherics/components/tank/nitrous{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/engineering/atmos) -"cGG" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "cGI" = ( /obj/machinery/firealarm/directional/south, /obj/structure/closet/secure_closet/medical3, @@ -6912,34 +6147,17 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark/herringbone, /area/station/ai_monitored/command/nuke_storage) -"cIy" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"cIE" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "cIU" = ( /mob/living/carbon/human/species/monkey, /turf/open/floor/grass, /area/station/medical/virology) -"cIX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +"cJb" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 }, -/obj/structure/chair/stool/directional/east, -/turf/open/floor/iron/small, -/area/station/maintenance/department/engine) +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "cJz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -6995,13 +6213,18 @@ "cKk" = ( /turf/closed/mineral/random/stationside, /area/station/ai_monitored/turret_protected/aisat/maint) -"cKm" = ( -/obj/machinery/shieldgen, -/obj/effect/turf_decal/stripes/white/line{ - dir = 5 +"cKv" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 4 }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos) +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/sign/warning/electric_shock/directional/south, +/turf/open/floor/iron/stairs/old{ + dir = 8 + }, +/area/station/engineering/supermatter/room) "cKV" = ( /obj/machinery/light/floor, /obj/effect/landmark/event_spawn, @@ -7011,13 +6234,6 @@ /obj/machinery/portable_atmospherics/canister, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"cLe" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) "cLg" = ( /obj/structure/lattice/catwalk, /obj/structure/marker_beacon/indigo, @@ -7030,28 +6246,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/commons/storage/art) -"cLn" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/end{ - dir = 8 - }, -/obj/machinery/disposal/delivery_chute{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/station/maintenance/department/engine) -"cLz" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/west, -/obj/structure/table, -/obj/item/folder/yellow, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"cLB" = ( -/turf/closed/wall/rust, -/area/station/engineering/atmos) "cLD" = ( /obj/structure/window/spawner/directional/north, /obj/effect/turf_decal/siding/thinplating_new/dark{ @@ -7061,11 +6255,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/security/courtroom) -"cLH" = ( -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) "cLS" = ( /obj/effect/turf_decal/siding/white{ dir = 10 @@ -7095,38 +6284,12 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"cMB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/light_switch/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"cMI" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "cMS" = ( /obj/structure/cable, /obj/structure/chair/stool/directional/north, /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/iron, /area/station/security/prison/workout) -"cMV" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "cMW" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -7136,33 +6299,14 @@ /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"cNa" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/small, -/area/station/engineering/main) -"cNe" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 4 +"cMZ" = ( +/obj/machinery/power/smes/engineering, +/obj/machinery/camera/directional/west{ + c_tag = "Engineering - Energy Silos" }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"cNq" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/engineering/engine_smes) "cNu" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -7172,25 +6316,6 @@ /obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/port) -"cNw" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner, -/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"cNy" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/iron/small, -/area/station/engineering/main) "cNF" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/closet_maintenance, @@ -7207,17 +6332,6 @@ /obj/machinery/light/very_dim/directional/west, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) -"cNW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "cNZ" = ( /obj/effect/turf_decal/box/red/corners{ dir = 8 @@ -7231,19 +6345,6 @@ /obj/effect/turf_decal/tile/brown/full, /turf/open/floor/iron/smooth_large, /area/station/service/bar) -"cOQ" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/mail_sorting/engineering/atmospherics, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "cOW" = ( /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/plating, @@ -7255,6 +6356,10 @@ /obj/structure/flora/bush/flowers_yw/style_random, /turf/open/floor/grass, /area/station/service/chapel) +"cPe" = ( +/obj/structure/spider/stickyweb, +/turf/open/floor/iron/small, +/area/station/maintenance/department/engine/atmos) "cPi" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -7262,6 +6367,16 @@ /obj/effect/turf_decal/siding/blue/corner, /turf/open/floor/iron/white/small, /area/station/medical/storage) +"cPv" = ( +/obj/effect/turf_decal/siding/red{ + dir = 10 + }, +/turf/open/floor/engine/n2, +/area/station/engineering/atmos/space_catwalk) +"cPB" = ( +/obj/machinery/air_sensor/incinerator_tank, +/turf/open/floor/engine, +/area/station/maintenance/disposal/incinerator) "cPD" = ( /obj/effect/turf_decal/stripes/end{ dir = 4 @@ -7274,19 +6389,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/white/small, /area/station/service/hydroponics/garden) -"cPM" = ( -/obj/machinery/door/airlock/engineering{ - name = "Main Engine" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/turf/open/floor/iron/small, -/area/station/engineering/main) "cPN" = ( /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/showroomfloor, @@ -7298,16 +6400,22 @@ }, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat/teleporter) -"cQb" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +"cPR" = ( +/obj/machinery/power/apc/auto_name/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, /turf/open/floor/iron, -/area/station/engineering/break_room) +/area/station/hallway/primary/fore) +"cPS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/cyan/hidden{ + dir = 1 + }, +/turf/closed/wall/r_wall, +/area/station/command/heads_quarters/ce) "cQP" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -7330,6 +6438,25 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/science/lobby) +"cRq" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/table/greyscale, +/obj/item/reagent_containers/cup/glass/mug/coco{ + pixel_x = -9 + }, +/obj/item/paper_bin{ + pixel_x = 5; + pixel_y = 6 + }, +/obj/item/pen{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "cRw" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/blue, @@ -7399,30 +6526,19 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/shower) -"cSv" = ( -/obj/machinery/atmospherics/components/tank/carbon_dioxide{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/station/engineering/atmos) -"cSz" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/pink/visible{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/turf/open/floor/iron/dark/side{ - dir = 5 - }, -/area/station/engineering/atmos) "cSC" = ( /turf/closed/wall, /area/station/commons/vacant_room/office) +"cSP" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/turf_decal/trimline/yellow/line, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "cSR" = ( /obj/structure/chair{ dir = 1 @@ -7430,40 +6546,9 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"cSX" = ( +"cTu" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine) -"cSY" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "CO2 Outlet Pump" - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"cTd" = ( -/obj/structure/closet/radiation, -/obj/item/clothing/glasses/meson, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plating, -/area/station/engineering/main) -"cTr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/dark, +/turf/open/floor/iron/smooth, /area/station/engineering/atmos) "cTw" = ( /obj/structure/table/wood, @@ -7489,19 +6574,18 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"cTD" = ( -/obj/machinery/door/airlock/atmos{ - name = "Atmospherics" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/effect/turf_decal/delivery, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"cUd" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/iron, -/area/station/engineering/atmos) +"cTS" = ( +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/office) +"cUa" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/start/station_engineer, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/dark/small, +/area/station/engineering/supermatter/room) "cUE" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/line{ @@ -7513,11 +6597,19 @@ }, /turf/open/floor/iron/dark, /area/station/medical/cryo) -"cUF" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/machinery/portable_atmospherics/pump, -/turf/open/floor/iron, -/area/station/engineering/atmos) +"cUH" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/firealarm/directional/west, +/obj/machinery/door/window/brigdoor/right/directional/south, +/obj/effect/landmark/start/depsec/engineering, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/smooth, +/area/station/security/checkpoint/engineering) "cUK" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -7568,6 +6660,13 @@ }, /turf/open/floor/iron/dark/herringbone, /area/station/security/execution/education) +"cVM" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/hallway) "cVQ" = ( /obj/machinery/firealarm/directional/south, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -7577,19 +6676,20 @@ dir = 1 }, /area/station/science/lower) -"cVV" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/west, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = 1; - pixel_y = 6 +"cVS" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 }, -/obj/item/pen{ - pixel_x = 5 +/turf/open/floor/iron/small, +/area/station/engineering/atmos) +"cVY" = ( +/obj/machinery/atmospherics/components/tank/air{ + dir = 4 }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +/turf/open/floor/plating/elevatorshaft, +/area/station/engineering/atmos/office) "cWh" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -7619,6 +6719,10 @@ dir = 1 }, /area/station/hallway/primary/aft) +"cWQ" = ( +/obj/structure/barricade/wooden, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "cWT" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/decal/cleanable/dirt, @@ -7642,15 +6746,6 @@ dir = 1 }, /area/station/hallway/secondary/entry) -"cXe" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "cXm" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -7659,13 +6754,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"cXF" = ( -/obj/effect/spawner/structure/window/reinforced/plasma, -/obj/machinery/atmospherics/pipe/smart/simple/pink/visible{ - dir = 5 - }, +"cXu" = ( +/obj/effect/landmark/atmospheric_sanity/ignore_area, /turf/open/floor/plating, -/area/station/engineering/supermatter) +/area/station/maintenance/department/electrical) "cXJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/siding/wood{ @@ -7673,27 +6765,6 @@ }, /turf/open/floor/iron/small, /area/station/security/prison/shower) -"cXP" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) -"cXU" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/airalarm/directional/west, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "cYc" = ( /obj/effect/spawner/random/structure/crate, /obj/machinery/light/small/directional/east, @@ -7706,31 +6777,10 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"cYm" = ( -/obj/machinery/computer/station_alert{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/textured_large, -/area/station/engineering/break_room) -"cYs" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/chair/stool/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/atmospheric_technician, -/turf/open/floor/iron, -/area/station/engineering/break_room) -"cYC" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/dark/corner, -/area/station/engineering/break_room) +"cYt" = ( +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "cYE" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -7744,11 +6794,26 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) +"cYL" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 6 + }, +/obj/structure/closet/radiation, +/obj/machinery/light/small/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/department/engine) "cYT" = ( /obj/structure/hedge, /obj/structure/sign/poster/contraband/random/directional/east, /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/qm) +"cYU" = ( +/obj/structure/cable, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/main) "cYW" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/steam_vent, @@ -7797,16 +6862,6 @@ }, /turf/open/floor/iron/white/small, /area/station/service/janitor) -"cZM" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/dark, -/area/station/engineering/main) "dah" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/dark_red/half/contrasted{ @@ -7830,16 +6885,27 @@ dir = 1 }, /area/station/science/lower) +"daC" = ( +/obj/structure/hedge, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 5 + }, +/turf/open/floor/iron/dark/small, +/area/station/command/heads_quarters/ce) "dba" = ( /obj/structure/chair/sofa/bench/left{ dir = 4 }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"dbh" = ( -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/small, -/area/station/engineering/atmos) +"dbo" = ( +/obj/structure/cable, +/obj/effect/spawner/random/structure/steam_vent, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "dbs" = ( /obj/structure/chair/plastic{ dir = 8 @@ -7861,9 +6927,38 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"dbA" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "N2O to Pure" + }, +/obj/machinery/atmospherics/components/binary/pump/off/general/visible/layer1{ + dir = 4; + name = "Plasma to Pure"; + color = "#BF40BF" + }, +/obj/machinery/atmospherics/components/binary/pump/off/general/visible/layer5{ + dir = 4; + name = "CO2 to Pure" + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "dbF" = ( /turf/open/floor/plating/rust, /area/station/ai_monitored/turret_protected/aisat/maint) +"dbN" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) "dbR" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -7890,32 +6985,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"dcg" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) -"dcG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/pink/visible{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/iron/dark/side{ - dir = 5 - }, -/area/station/engineering/atmos) "dcH" = ( /obj/structure/cable, /obj/structure/disposalpipe/junction{ @@ -7937,33 +7006,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/security/brig/entrance) -"ddd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/engineering/atmos) -"ddh" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"ddj" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/co2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"ddk" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "ddl" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 @@ -7991,13 +7033,6 @@ /obj/structure/chair/stool/directional/west, /turf/open/floor/carpet/red, /area/station/command/heads_quarters/hos) -"ddG" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "ddK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -8007,22 +7042,6 @@ /obj/effect/landmark/start/chief_medical_officer, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"ddN" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 4 - }, -/obj/machinery/door/airlock/atmos{ - name = "Atmospherics" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/effect/turf_decal/delivery, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"ddT" = ( -/turf/open/floor/plating/airless, -/area/station/maintenance/department/engine) "deh" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -8038,16 +7057,14 @@ /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"deB" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{ - dir = 4 +"dez" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "deQ" = ( /obj/machinery/door/poddoor/preopen{ id = "Xenolab"; @@ -8073,24 +7090,18 @@ /obj/machinery/status_display/ai/directional/north, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) -"dfB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ - dir = 1 +"dfz" = ( +/obj/structure/barricade/wooden, +/obj/machinery/door/airlock/maintenance{ + name = "Atmospherics Maintenance" }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"dfC" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/thermomachine/heater{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "dfN" = ( /obj/structure/window/spawner/directional/west, /obj/structure/window/spawner/directional/south, @@ -8103,6 +7114,21 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/wood/parquet, /area/station/service/library) +"dgm" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/engineering/main) "dgn" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -8118,29 +7144,17 @@ /obj/structure/cable, /turf/open/floor/iron/white/corner, /area/station/science/lower) -"dgr" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 4 +"dgV" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 5 }, -/obj/machinery/portable_atmospherics/canister, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 +/obj/machinery/shieldgen, +/obj/machinery/camera/directional/west{ + c_tag = "Engineering - SECURE STORAGE" }, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"dgv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine) -"dgD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +/obj/structure/sign/poster/official/random/directional/west, +/turf/open/floor/iron/dark/small, +/area/station/engineering/storage_shared) "dhh" = ( /obj/structure/cable, /obj/machinery/status_display/ai/directional/north, @@ -8149,12 +7163,6 @@ }, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) -"dhw" = ( -/obj/effect/turf_decal/tile/yellow, -/obj/structure/cable, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/dark, -/area/station/engineering/main) "dhy" = ( /obj/structure/cable, /obj/structure/disposalpipe/trunk{ @@ -8171,6 +7179,18 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/cafeteria, /area/station/science/circuits) +"dhC" = ( +/obj/structure/table, +/obj/item/stack/ore/gold{ + pixel_x = 5; + pixel_y = 6 + }, +/obj/item/stack/ore/iron, +/obj/item/stack/ore/plasma{ + pixel_y = -6 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "dhK" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -8204,37 +7224,18 @@ /obj/effect/turf_decal/delivery/red, /turf/open/floor/iron/dark/small, /area/station/medical/medbay/lobby) -"diK" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold/green/visible{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/arrow_cw{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) -"diM" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) -"diO" = ( -/obj/effect/turf_decal/tile/yellow, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +"diL" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ dir = 1 }, -/obj/structure/disposalpipe/segment{ - dir = 6 +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer1{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/engineering/main) +/obj/machinery/atmospherics/pipe/smart/simple/brown/visible, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "diS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -8242,95 +7243,6 @@ /obj/structure/sink/directional/south, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"dja" = ( -/obj/effect/turf_decal/tile/yellow, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/main) -"djf" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 4 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"djj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/meter, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"djC" = ( -/obj/machinery/door/airlock/engineering{ - name = "Smoke Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/textured_half{ - dir = 1 - }, -/area/station/engineering/atmospherics_engine) -"djE" = ( -/obj/effect/turf_decal/caution/stand_clear/white{ - dir = 4 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/smooth_half{ - dir = 1 - }, -/area/station/engineering/atmospherics_engine) -"djU" = ( -/obj/machinery/power/smes/engineering, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"dkd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/smooth_half{ - dir = 1 - }, -/area/station/maintenance/department/engine/atmos) -"dkm" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/smooth_half{ - dir = 1 - }, -/area/station/maintenance/department/engine/atmos) -"dkq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/wrench, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "dks" = ( /obj/structure/table/wood, /obj/effect/turf_decal/tile/neutral/full, @@ -8362,29 +7274,25 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/security/tram) -"dkC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"dkF" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 5 - }, -/obj/machinery/space_heater, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/engineering/atmos) "dkI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/small, /area/station/security/execution/education) +"dkR" = ( +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, +/obj/structure/railing/corner/end{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/loading_area, +/turf/open/floor/iron/dark/small, +/area/station/engineering/supermatter/room) "dkS" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/broken_floor, @@ -8413,12 +7321,6 @@ dir = 8 }, /area/station/hallway/secondary/entry) -"dkW" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/heater{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "dlc" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -8428,12 +7330,12 @@ /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/iron, /area/station/commons/dorms) -"dll" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/cyan{ +"dlk" = ( +/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible, +/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible{ dir = 4 }, -/obj/structure/tank_holder/extinguisher/advanced, -/turf/open/floor/iron, +/turf/open/floor/iron/dark, /area/station/engineering/atmos) "dlx" = ( /obj/structure/flora/bush/flowers_br/style_random, @@ -8458,31 +7360,22 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"dlR" = ( -/obj/effect/turf_decal/caution/stand_clear/white{ +"dmb" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ dir = 8 }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ +/obj/structure/railing{ dir = 4 }, -/turf/open/floor/iron/smooth_half{ - dir = 1 - }, -/area/station/maintenance/department/engine/atmos) +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer5, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "dmk" = ( /obj/machinery/holopad, /obj/effect/landmark/start/depsec/medical, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs/auxiliary) -"dmw" = ( -/obj/machinery/atmospherics/components/tank/plasma, -/obj/structure/window/reinforced/plasma/spawner/directional/east, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/disposal/incinerator) "dmG" = ( /obj/structure/transport/linear/tram, /obj/structure/tram, @@ -8512,35 +7405,6 @@ dir = 1 }, /area/station/security/prison/safe) -"dnj" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 8; - name = "Waste to Filter" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/engineering/atmos/pumproom) -"dnp" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/supermatter/room) -"dnq" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ - dir = 1 - }, -/obj/machinery/meter, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/station/engineering/atmos/pumproom) -"dnt" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/visible{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos/pumproom) "dnJ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -8551,16 +7415,18 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) -"dnW" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +"dnU" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Maintenance" }, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "dob" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -8623,19 +7489,21 @@ }, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"doQ" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) "doX" = ( /obj/structure/girder, /obj/effect/decal/cleanable/glass/plastitanium, /turf/open/floor/plating, /area/station/commons/fitness/recreation/entertainment) +"dph" = ( +/obj/structure/railing, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) +"dpk" = ( +/obj/effect/turf_decal/arrows/white, +/obj/effect/decal/cleanable/generic, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) "dps" = ( /obj/machinery/camera/directional/south{ c_tag = "AI Chamber - Aft"; @@ -8678,59 +7546,44 @@ dir = 1 }, /area/station/hallway/secondary/dock) -"dpN" = ( -/obj/structure/hedge, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"dpO" = ( -/obj/effect/turf_decal/stripes/red/line, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 - }, -/obj/structure/firelock_frame, -/turf/open/floor/iron/dark, -/area/station/maintenance/department/engine/atmos) "dpR" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 4 }, /turf/open/floor/tram, /area/station/security/tram) -"dqj" = ( -/obj/effect/turf_decal/stripes/red/line, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/maintenance/department/engine/atmos) -"dqG" = ( -/obj/structure/chair/sofa/left{ - dir = 4 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/diagonal, -/area/station/maintenance/department/engine/atmos) -"dqK" = ( -/obj/structure/sign/poster/official/cohiba_robusto_ad/directional/north, -/turf/open/floor/iron/diagonal, -/area/station/maintenance/department/engine/atmos) "dqO" = ( /turf/open/floor/iron/dark/small, /area/station/security/checkpoint/customs/auxiliary) +"dqV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/portable_atmospherics/canister, +/turf/open/floor/iron, +/area/station/engineering/atmos) "dqX" = ( /obj/structure/reagent_dispensers/wall/peppertank/directional/north, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/station/security/office) -"dra" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/entertainment/lighter, -/obj/effect/decal/cleanable/cobweb/cobweb2, +"dre" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Transit Tube Station" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +/area/station/maintenance/department/electrical) +"drw" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/computer/atmos_control/nocontrol/incinerator{ + dir = 4 + }, +/obj/machinery/light/cold/directional/west, +/turf/open/floor/iron/smooth, +/area/station/maintenance/disposal/incinerator) "dry" = ( /obj/structure/bed/medical{ dir = 4 @@ -8741,6 +7594,43 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron/showroomfloor, /area/station/medical/virology) +"drF" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) +"drI" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/station/engineering/main) +"drO" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"dsb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating/elevatorshaft, +/area/station/engineering/lobby) "dse" = ( /obj/structure/chair/sofa/bench/right{ dir = 4 @@ -8748,15 +7638,17 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"dsq" = ( +"dsh" = ( +/obj/effect/spawner/random/structure/chair_flipped, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"dsp" = ( +/obj/effect/turf_decal/sand/plating, /obj/structure/rack, -/obj/effect/decal/cleanable/dirt, -/obj/item/stack/sheet/iron/fifty, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/mask/gas, -/obj/item/airlock_painter, -/turf/open/floor/iron/small, -/area/station/engineering/atmos) +/obj/item/pickaxe, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "dst" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -8767,21 +7659,11 @@ }, /turf/open/floor/iron/small, /area/station/medical/morgue) -"dsH" = ( -/obj/effect/turf_decal/sand/plating, -/obj/structure/reagent_dispensers/fueltank, +"dsE" = ( +/obj/structure/table/reinforced/titaniumglass, +/obj/item/screwdriver, /turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"dsL" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) +/area/station/maintenance/department/engine) "dsN" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -8843,16 +7725,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/genetics) -"dtH" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 4; - name = "Cold Loop to Gas" - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "dua" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 4 @@ -8883,13 +7755,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/security/checkpoint/escape) -"duF" = ( -/obj/machinery/atmospherics/components/tank/carbon_dioxide{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/engineering/atmos) "duI" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/hidden{ dir = 10 @@ -8903,19 +7768,14 @@ /obj/machinery/portable_atmospherics/canister, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"dvb" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ +"duY" = ( +/obj/structure/railing, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/smart/simple/supply/hidden{ dir = 5 }, -/obj/machinery/computer/atmos_control/plasma_tank{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/engineering/atmos) +/turf/open/floor/wood, +/area/station/engineering/atmos/office) "dvl" = ( /obj/structure/table, /obj/item/reagent_containers/condiment/enzyme{ @@ -8938,10 +7798,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark/herringbone, /area/station/ai_monitored/command/nuke_storage) -"dvq" = ( -/obj/structure/sign/warning/electric_shock, -/turf/closed/wall, -/area/station/maintenance/department/engine) "dvs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -8951,6 +7807,11 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/recreation/entertainment) +"dvv" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron, +/area/station/engineering/atmos/space_catwalk) "dvJ" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/tile/dark_red/fourcorners, @@ -8960,11 +7821,16 @@ }, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs) -"dvQ" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/spawner/random/trash, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +"dvO" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/engineering/supermatter/room) "dwa" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/dark_red/half/contrasted, @@ -8986,23 +7852,6 @@ }, /turf/open/misc/sandy_dirt, /area/station/security/tram) -"dwJ" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/plasma{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/engineering/atmos) -"dwL" = ( -/obj/structure/chair{ - pixel_y = -2 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/maintenance/department/engine/atmos) "dwT" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -9032,18 +7881,29 @@ "dxf" = ( /turf/open/floor/iron/smooth, /area/station/maintenance/department/medical/central) +"dxr" = ( +/obj/effect/turf_decal/stripes/white/box, +/obj/item/hfr_box/core, +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) +"dxu" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/manifold/general/visible{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 8 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Engineering - Cold Room" + }, +/turf/open/floor/iron, +/area/station/engineering/supermatter/room) "dxz" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/fore/greater) -"dxG" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/maintenance/department/engine/atmos) "dxO" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -9055,16 +7915,6 @@ /obj/item/stack/rods/fifty, /turf/open/floor/plating, /area/station/construction/mining/aux_base) -"dxP" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Plasma to Pure" - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "dxZ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -9074,13 +7924,6 @@ /obj/effect/mapping_helpers/airlock/access/all/science/ordnance, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"dye" = ( -/obj/effect/turf_decal/siding/wideplating/dark/end{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/canister, -/turf/open/floor/plating, -/area/station/engineering/atmos/storage/gas) "dyp" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/decal/cleanable/dirt, @@ -9097,6 +7940,21 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/port) +"dyt" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor/preopen{ + id = "atmos"; + name = "Atmospherics Blast Door" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "dyF" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/blue{ @@ -9110,11 +7968,6 @@ dir = 4 }, /area/station/hallway/primary/central/fore) -"dyG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/iron/smooth, -/area/station/maintenance/disposal/incinerator) "dyO" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -9163,15 +8016,16 @@ /obj/item/radio/intercom/chapel/directional/east, /turf/open/floor/iron/terracotta/diagonal, /area/station/service/chapel/office) -"dzl" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/south, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/iron/smooth_corner{ - dir = 1 - }, -/area/station/maintenance/disposal/incinerator) +"dzA" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/obj/machinery/atmospherics/pipe/smart/simple/brown/visible, +/turf/open/floor/plating, +/area/station/engineering/atmos/space_catwalk) +"dzD" = ( +/obj/effect/spawner/random/structure/crate, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "dzE" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -9187,44 +8041,6 @@ }, /turf/open/floor/iron/dark/small, /area/station/tcommsat/server) -"dzQ" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/engineering/atmos) -"dzT" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 6 - }, -/obj/machinery/portable_atmospherics/canister/nitrogen, -/obj/machinery/light/dim/directional/north, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos) -"dAh" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"dAl" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "N2 to Pure" - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "dAn" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating, @@ -9233,36 +8049,43 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"dAz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) +"dAF" = ( +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 5 + }, +/obj/machinery/light/broken/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/dark/small, +/area/station/command/heads_quarters/ce) "dAG" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"dAS" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"dAI" = ( +/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"dBa" = ( -/obj/effect/spawner/random/structure/girder, -/obj/effect/spawner/random/structure/grille, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"dBb" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/maintenance/department/engine/atmos) "dBh" = ( /obj/effect/turf_decal/siding/wood{ dir = 6 @@ -9270,21 +8093,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/wood/tile, /area/station/science/lower) -"dBi" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "O2 to Pure" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "dBr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -9309,19 +8117,6 @@ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) -"dBM" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 5 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/pumproom) -"dBV" = ( -/turf/open/floor/plating/airless, -/area/station/engineering/atmospherics_engine) "dCe" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -9332,11 +8127,6 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/dark/small, /area/station/medical/chemistry) -"dCj" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/structure/cable, -/turf/open/floor/circuit/red, -/area/station/ai_monitored/turret_protected/ai) "dCm" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -9417,17 +8207,6 @@ /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"dDN" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 8; - name = "Mix to Filter" - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/pumproom) "dDO" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/box/red/corners{ @@ -9453,76 +8232,28 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/escape) -"dEt" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 6 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/obj/machinery/airalarm/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "dEu" = ( /obj/machinery/vending/cigarette, /turf/open/floor/iron/kitchen/small, /area/station/security/breakroom) +"dEA" = ( +/obj/machinery/modular_computer/preset/engineering, +/obj/structure/cable, +/obj/machinery/light_switch/directional/west, +/turf/open/floor/iron/small, +/area/station/engineering/engine_smes) "dEF" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 5 }, /turf/open/floor/tram, /area/station/security/tram) -"dER" = ( -/obj/machinery/power/emitter, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 +"dGV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos) -"dFn" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"dFs" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/supply/visible{ - dir = 10 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/pumproom) -"dFH" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, -/obj/structure/cable, -/obj/effect/turf_decal/stripes/white/line{ - dir = 10 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Atmospherics - Distro Loop" - }, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/pumproom) -"dGt" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 6 - }, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos/pumproom) -"dGO" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +/turf/closed/wall, +/area/station/engineering/atmos/storage/gas) "dHi" = ( /obj/machinery/door/firedoor, /obj/effect/landmark/navigate_destination/bar, @@ -9543,17 +8274,6 @@ }, /turf/open/floor/tram, /area/station/security/tram) -"dHC" = ( -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) "dHE" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -9578,40 +8298,14 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"dIe" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/maintenance/department/engine/atmos) -"dIm" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/turf/open/floor/iron, -/area/station/maintenance/department/engine/atmos) -"dIt" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ +"dHU" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing, +/obj/machinery/atmospherics/components/trinary/filter/atmos/co2{ dir = 8 }, -/obj/machinery/portable_atmospherics/pump, -/obj/effect/turf_decal/stripes/white/box, -/turf/open/floor/iron/dark/smooth_large, -/area/station/hallway/primary/fore) -"dID" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold/orange/visible{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "dIN" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -9635,6 +8329,20 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/small, /area/station/science/xenobiology) +"dIZ" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "dJd" = ( /obj/machinery/computer/records/security, /turf/open/floor/wood/tile, @@ -9657,37 +8365,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/cafeteria, /area/station/science/circuits) -"dJh" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/turf/open/floor/iron, -/area/station/maintenance/department/engine/atmos) -"dJn" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/maintenance/department/engine/atmos) -"dJp" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/light/small/directional/east, -/obj/structure/cable, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/turf/open/floor/iron, -/area/station/maintenance/department/engine/atmos) "dJz" = ( /obj/structure/chair/stool/directional/west, /mob/living/basic/trooper/russian/ranged/lootless, /turf/open/floor/carpet/orange, /area/station/service/abandoned_gambling_den) -"dJN" = ( -/obj/machinery/griddle, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) "dJT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -9701,16 +8383,24 @@ dir = 1 }, /area/station/security/execution/transfer) -"dKj" = ( -/obj/structure/closet/secure_closet/freezer/empty/open, -/turf/open/floor/iron/diagonal, -/area/station/maintenance/department/engine/atmos) -"dKk" = ( -/obj/structure/chair/sofa/right{ +"dJU" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 4 }, -/turf/open/floor/iron/diagonal, -/area/station/maintenance/department/engine/atmos) +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/pumproom) +"dKl" = ( +/obj/effect/spawner/random/engineering/material_cheap, +/obj/effect/spawner/random/engineering/material, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "dKq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -9743,83 +8433,27 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/dock) -"dKC" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister, -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/engineering/atmos/storage/gas) "dKQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"dLb" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 5 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/iron/smooth_corner{ - dir = 1 - }, -/area/station/maintenance/disposal/incinerator) -"dLf" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/structure/table/reinforced/titaniumglass, -/obj/item/stack/sheet/iron/fifty, -/obj/item/crowbar, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron, +"dLj" = ( +/obj/structure/closet/secure_closet/engineering_electrical, +/obj/effect/turf_decal/bot, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow, +/turf/open/floor/iron/small, /area/station/engineering/break_room) "dLn" = ( /obj/structure/chair/office, /turf/open/floor/iron/dark/herringbone, /area/station/security/execution/education) -"dLy" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/engineering/atmos/pumproom) -"dLC" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/table/reinforced/titaniumglass, -/obj/item/storage/belt/utility, -/obj/item/clothing/glasses/meson{ - pixel_y = 7 - }, -/obj/item/clothing/glasses/meson, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "dLQ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"dLZ" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "dMg" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 4; @@ -9827,25 +8461,6 @@ }, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) -"dMj" = ( -/obj/machinery/atmospherics/pipe/smart/simple/pink/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/clothing/head/cone{ - pixel_x = 9; - pixel_y = -4 - }, -/turf/open/floor/iron/dark/side{ - dir = 5 - }, -/area/station/engineering/atmos) "dMm" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/turf_decal/stripes/line{ @@ -9919,6 +8534,14 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"dNM" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/binary/pump/on/layer2{ + dir = 1; + name = "Air to Distro" + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "dNU" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -9943,10 +8566,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/tram) -"dOq" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, -/turf/open/floor/iron/smooth, -/area/station/maintenance/disposal/incinerator) "dOv" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/green/opposingcorners, @@ -9974,6 +8593,24 @@ }, /turf/open/floor/wood, /area/station/security/detectives_office) +"dOU" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/button/door/directional/west{ + id = "engsm"; + name = "Radiation Shutters Control" + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) +"dOY" = ( +/obj/effect/turf_decal/arrows{ + dir = 4 + }, +/obj/effect/decal/cleanable/shreds, +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) "dPa" = ( /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) @@ -9996,9 +8633,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"dPz" = ( -/turf/open/floor/iron/diagonal, -/area/station/maintenance/department/engine/atmos) "dPH" = ( /obj/structure/cable, /obj/structure/disposalpipe/sorting/mail/flip{ @@ -10015,6 +8649,14 @@ /obj/structure/broken_flooring/singular/directional/south, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"dQi" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron, +/area/station/engineering/lobby) "dQP" = ( /obj/effect/spawner/random/vending/colavend, /obj/effect/decal/cleanable/dirt, @@ -10028,23 +8670,6 @@ }, /turf/open/floor/engine, /area/station/science/cytology) -"dQS" = ( -/obj/structure/table/wood, -/obj/item/storage/fancy/cigarettes/cigars/cohiba{ - pixel_y = 8 - }, -/obj/item/reagent_containers/cup/glass/mug/nanotrasen{ - pixel_x = 5; - pixel_y = 19 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"dQY" = ( -/obj/item/radio/intercom/directional/south, -/obj/machinery/vending/cigarette, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/turf/open/floor/iron, -/area/station/maintenance/department/engine/atmos) "dRf" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -10069,14 +8694,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"dRi" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) "dRk" = ( /obj/structure/flora/bush/lavendergrass/style_random, /obj/structure/flora/bush/fullgrass/style_random, @@ -10086,10 +8703,6 @@ }, /turf/open/misc/sandy_dirt, /area/station/security/tram) -"dRm" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, -/turf/closed/wall, -/area/station/engineering/atmos) "dRD" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -10102,10 +8715,8 @@ /turf/open/floor/plating, /area/station/maintenance/port/fore) "dRE" = ( -/obj/effect/spawner/random/vending/snackvend, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/turf/open/floor/iron, -/area/station/maintenance/department/engine/atmos) +/turf/open/floor/engine/n2o, +/area/station/ai_monitored/turret_protected/ai) "dSb" = ( /obj/machinery/atmospherics/pipe/smart/simple/general/visible{ dir = 4 @@ -10118,12 +8729,15 @@ dir = 1 }, /area/station/science/cytology) -"dSd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/turf/open/floor/iron, -/area/station/maintenance/department/engine/atmos) +"dSh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/break_room) "dSl" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/navbeacon{ @@ -10152,18 +8766,16 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/auxiliary) -"dSD" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"dSO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"dSM" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/meter, -/turf/open/floor/plating, -/area/station/engineering/atmos) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/neutral/end{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "dSV" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 5 @@ -10190,15 +8802,6 @@ }, /turf/open/floor/iron/white/small, /area/station/science/lab) -"dTm" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron, -/area/station/maintenance/department/engine/atmos) -"dTr" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/turf/open/floor/iron, -/area/station/maintenance/department/engine/atmos) "dTB" = ( /obj/structure/broken_flooring/pile/directional/east, /obj/effect/decal/cleanable/dirt, @@ -10223,24 +8826,13 @@ }, /turf/open/floor/iron/small, /area/station/hallway/primary/central/fore) -"dUn" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, -/obj/structure/window/spawner/directional/east, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"dUr" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 5 +"dUw" = ( +/obj/structure/railing{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/yellow/line, -/obj/effect/landmark/navigate_destination/incinerator, -/turf/open/floor/iron/smooth_corner{ - dir = 8 - }, -/area/station/maintenance/disposal/incinerator) +/obj/item/storage/bag/trash, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) "dUA" = ( /obj/machinery/atmospherics/pipe/smart/simple/general/visible{ dir = 6 @@ -10276,45 +8868,6 @@ /obj/machinery/holopad, /turf/open/floor/iron/dark/small, /area/station/science/xenobiology) -"dUT" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/obj/machinery/computer/atmos_control/nitrogen_tank{ - dir = 1 - }, -/obj/structure/window/spawner/directional/south, -/obj/effect/turf_decal/tile/red, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/engineering/atmos) -"dVu" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron, -/area/station/maintenance/department/engine/atmos) -"dVF" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 10 - }, -/obj/effect/turf_decal/tile/yellow, -/obj/structure/window/spawner/directional/south, -/obj/structure/rack, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/engineering/atmos) -"dVM" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/plating/rust, -/area/station/engineering/atmos/storage/gas) "dVW" = ( /obj/structure/chair{ dir = 8 @@ -10334,13 +8887,6 @@ /obj/structure/sign/departments/science/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"dWp" = ( -/obj/machinery/field/generator, -/obj/effect/turf_decal/stripes/white/line{ - dir = 5 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos) "dWs" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -10351,39 +8897,6 @@ }, /turf/open/floor/iron/dark/corner, /area/station/science/xenobiology) -"dWw" = ( -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow, -/obj/structure/window/spawner/directional/south, -/obj/machinery/disposal/bin, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/engineering/atmos) -"dWx" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/plating, -/area/station/engineering/atmos/storage/gas) -"dWI" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/computer/atmos_control/oxygen_tank{ - dir = 1 - }, -/obj/structure/window/spawner/directional/south, -/obj/effect/turf_decal/tile/blue, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/engineering/atmos) "dWK" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/structure/chair/office{ @@ -10392,10 +8905,37 @@ /obj/effect/landmark/start/warden, /turf/open/floor/iron, /area/station/security/warden) +"dWS" = ( +/obj/structure/closet/crate/large, +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "dWW" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, /area/station/maintenance/central/lesser) +"dXa" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing, +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer5{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/brown/visible, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "dXb" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -10435,48 +8975,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/white/small, /area/station/security/warden) -"dXE" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/end{ - dir = 4 - }, -/obj/structure/disposaloutlet{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/station/maintenance/department/engine) -"dXH" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow, -/obj/structure/window/spawner/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/computer/atmos_alert{ - dir = 1 - }, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/engineering/atmos) -"dXK" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow, -/obj/structure/window/spawner/directional/south, -/obj/structure/closet/secure_closet/atmospherics, -/obj/effect/decal/cleanable/dirt, -/obj/item/clothing/head/utility/welding{ - pixel_x = -5; - pixel_y = 3 - }, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/engineering/atmos) "dXO" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /obj/structure/disposalpipe/segment{ @@ -10484,20 +8982,6 @@ }, /turf/open/floor/plating, /area/station/service/janitor) -"dXT" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 4 - }, -/obj/machinery/computer/atmos_control/air_tank{ - dir = 1 - }, -/obj/structure/window/spawner/directional/south, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/engineering/atmos) "dXU" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/portables_connector/visible{ @@ -10565,6 +9049,15 @@ /obj/structure/mirror/directional/west, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/auxiliary) +"dYw" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/engineering/hallway) "dYD" = ( /obj/machinery/door/window/brigdoor/left/directional/west{ id = "Cell 1"; @@ -10601,6 +9094,10 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"dYY" = ( +/obj/machinery/light/cold/dim/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "dZa" = ( /obj/structure/table/reinforced, /obj/machinery/camera/directional/west, @@ -10613,12 +9110,6 @@ /obj/machinery/status_display/ai/directional/west, /turf/open/floor/iron/showroomfloor, /area/station/medical/surgery/theatre) -"dZd" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos) "dZk" = ( /obj/structure/cable, /obj/effect/mapping_helpers/airlock/access/all/medical/general, @@ -10667,6 +9158,13 @@ }, /turf/open/floor/iron/small, /area/station/security/prison/shower) +"dZG" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/blobstart, +/obj/structure/cable, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/storage_shared) "dZT" = ( /obj/machinery/button/transport/tram/directional/south{ id = 2; @@ -10674,82 +9172,41 @@ }, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) +"dZX" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "dZZ" = ( /obj/structure/cable/layer3, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"eag" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "Pure to Mix" - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/pumproom) "eam" = ( /obj/effect/spawner/random/structure/crate, /obj/machinery/airalarm/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"eat" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/holopad, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/half{ + dir = 8 + }, +/area/station/engineering/main) "eax" = ( /obj/item/shovel, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/prison) -"eaA" = ( -/obj/machinery/conveyor{ - dir = 8; - id = "flamedra" - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/station/maintenance/department/engine) -"eaC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/green/visible{ - dir = 1 - }, -/obj/machinery/meter, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/pumproom) -"eaE" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/supply/visible, -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 4; - name = "Air to External Air Ports" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/pumproom) "eaT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/prison/rec) -"ebc" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Distro to Waste" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/pumproom) "ebe" = ( /obj/structure/hoop{ dir = 4; @@ -10762,53 +9219,51 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/station/commons/fitness/recreation) -"ebj" = ( -/obj/structure/cable, -/obj/machinery/door/airlock/atmos{ - name = "Atmospherics" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/engineering/atmos/pumproom) -"ebx" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 9 - }, -/turf/closed/wall/rust, -/area/station/engineering/atmos/pumproom) "ebU" = ( /obj/structure/table/reinforced, /obj/structure/reagent_dispensers/servingdish, /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/kitchen/small, /area/station/security/prison/mess) +"ecf" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/door/window/right/directional/east, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) +"ecn" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table, +/obj/machinery/cell_charger{ + pixel_x = 2; + pixel_y = 9 + }, +/obj/item/geiger_counter{ + pixel_x = 16; + pixel_y = 6 + }, +/turf/open/floor/iron/small, +/area/station/maintenance/department/engine/atmos) "ecq" = ( /turf/closed/wall/r_wall/rust, /area/station/maintenance/department/engine/atmos) +"ecs" = ( +/obj/effect/spawner/random/structure/crate_loot, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "ect" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/kitchen/small, /area/station/security/prison/mess) -"ecF" = ( -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/atmos{ - name = "Atmospherics" - }, -/obj/effect/mapping_helpers/airlock/abandoned, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/department/engine/atmos) "ecL" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/transit_tube/horizontal, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"ecQ" = ( -/turf/closed/wall/r_wall, -/area/station/engineering/atmos/pumproom) "ecY" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -10884,8 +9339,10 @@ }, /area/station/cargo/storage) "eeg" = ( -/turf/open/floor/iron/smooth_large, -/area/station/engineering/atmos) +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/passive_vent, +/turf/open/floor/circuit/red, +/area/station/ai_monitored/turret_protected/ai) "eem" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -10921,17 +9378,10 @@ "eeJ" = ( /turf/closed/wall, /area/station/commons/fitness/locker_room) -"efa" = ( -/obj/effect/turf_decal/delivery, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/engineering/supermatter/room) -"efe" = ( -/obj/structure/cable, +"eeY" = ( /obj/machinery/door/airlock/maintenance{ - name = "Atmospherics Maintenance" + name = "Transit Tube Workshop" }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) "efj" = ( @@ -10941,6 +9391,13 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/cafeteria, /area/station/service/cafeteria) +"efl" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible, +/turf/open/floor/iron, +/area/station/engineering/atmos) "efr" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/broken_floor, @@ -11000,13 +9457,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/security/prison/rec) -"egk" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 6 - }, -/obj/machinery/portable_atmospherics/canister/plasma, -/turf/open/floor/plating, -/area/station/engineering/atmos/storage/gas) "egr" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -11023,19 +9473,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/chapel, /area/station/maintenance/starboard/greater) +"egR" = ( +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/engineering/supermatter/room) "ehj" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"ehB" = ( -/obj/machinery/light_switch/directional/north, -/obj/effect/turf_decal/delivery, -/obj/machinery/door/poddoor/preopen{ - id = "atmos"; - name = "Atmospherics Blast Door" - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +"ehw" = ( +/obj/machinery/computer/atmos_control/carbon_tank, +/obj/structure/sign/poster/official/random/directional/east, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/office) "ehV" = ( /obj/structure/cable, /obj/structure/chair/sofa/right{ @@ -11089,18 +9542,30 @@ /obj/effect/turf_decal/box/red, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat/equipment) -"eiK" = ( -/obj/machinery/field/generator, -/obj/effect/turf_decal/stripes/white/line{ - dir = 9 +"eiD" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron, +/area/station/engineering/lobby) +"eiN" = ( +/obj/machinery/light/cold/dim/directional/east, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/sign/directions/evac/directional/east{ + dir = 2 }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos) -"eiM" = ( -/obj/structure/table/wood, -/obj/item/knife/plastic, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +/obj/structure/sign/directions/command/directional/east{ + pixel_y = 8; + dir = 2 + }, +/obj/structure/sign/directions/medical/directional/east{ + pixel_y = -8; + dir = 2 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "eiU" = ( /turf/open/floor/plating/rust, /area/station/maintenance/department/engine/atmos) @@ -11125,34 +9590,66 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/cargo/bitrunning/den) -"ejt" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine) "ejx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/ordnance/testlab) -"ejH" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 +"ejL" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, +/obj/effect/turf_decal/tile/yellow, +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/machinery/atmospherics/pipe/layer_manifold/orange/visible, +/obj/structure/sign/warning/secure_area/directional/west, /turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) +/area/station/engineering/main) +"ejM" = ( +/obj/structure/railing{ + dir = 10 + }, +/obj/item/paper_bin{ + pixel_x = -2; + pixel_y = 6 + }, +/obj/item/pen{ + pixel_x = -1; + pixel_y = 4 + }, +/obj/structure/table, +/obj/effect/landmark/start/hangover, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron/small, +/area/station/engineering/lobby) +"ejN" = ( +/obj/machinery/door/airlock/engineering{ + name = "Engine Airlock" + }, +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "engine_airlock_1" + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/main) "ejV" = ( /mob/living/basic/mining/basilisk, /turf/open/misc/asteroid, /area/space/nearstation) -"eki" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance" +"ekf" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/abandoned, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine/atmos) +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer5{ + dir = 4 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "ekr" = ( /obj/effect/turf_decal/siding/dark_red{ dir = 1 @@ -11194,6 +9691,18 @@ /obj/structure/closet/firecloset, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"ekV" = ( +/obj/machinery/light/floor, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "ekZ" = ( /obj/structure/disposalpipe/segment, /obj/effect/landmark/navigate_destination, @@ -11204,17 +9713,31 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/security) +"eld" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, +/obj/machinery/camera/directional/west{ + c_tag = "Engineering - Decontamination A" + }, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/main) "elh" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer2, /obj/structure/sign/warning/cold_temp/directional/west, /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"elm" = ( -/obj/structure/window/spawner/directional/south, -/obj/structure/window/spawner/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +"elv" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/command{ + name = "Chief Engineer's Office" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/ce, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/small, +/area/station/engineering/main) "elw" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 @@ -11265,11 +9788,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"elO" = ( -/obj/structure/window/spawner/directional/south, -/obj/structure/window/spawner/directional/north, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine/atmos) "elQ" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt, @@ -11287,28 +9805,9 @@ /obj/effect/turf_decal/tile/dark_red/anticorner/contrasted, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs) -"elY" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine) "emd" = ( /turf/open/floor/iron, /area/station/medical/chemistry) -"emf" = ( -/obj/structure/window/spawner/directional/south, -/obj/structure/window/spawner/directional/north, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) "emw" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -11326,6 +9825,13 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) +"emC" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/red/end, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "emD" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -11357,19 +9863,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/cargo/office) -"enq" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine/atmos) -"enB" = ( -/obj/effect/turf_decal/sand/plating, -/obj/machinery/atmospherics/components/unary/passive_vent{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/space/nearstation) "enD" = ( /obj/effect/turf_decal/tile/green{ dir = 8 @@ -11404,14 +9897,6 @@ }, /turf/open/floor/iron, /area/station/security/prison) -"eop" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 6 - }, -/turf/open/floor/plating/rust{ - initial_gas_mix = "TEMP=2.7" - }, -/area/space/nearstation) "eoz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11427,27 +9912,6 @@ /obj/structure/broken_flooring/pile/directional/east, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"eoG" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/east, -/obj/machinery/computer/atmos_control/nocontrol/incinerator{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, -/turf/open/floor/iron/smooth_edge{ - dir = 4 - }, -/area/station/maintenance/disposal/incinerator) -"eoK" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, -/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/space/nearstation) "eoU" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -11455,24 +9919,6 @@ }, /turf/open/space/basic, /area/space/nearstation) -"eoY" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 9 - }, -/turf/open/floor/plating/airless, -/area/space/nearstation) -"eoZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/white/line{ - dir = 5 - }, -/obj/machinery/atmospherics/components/binary/valve/digital{ - name = "Waste Release" - }, -/turf/open/floor/iron/dark/corner{ - dir = 4 - }, -/area/station/engineering/atmos) "epa" = ( /obj/machinery/telecomms/bus/preset_four, /obj/effect/decal/cleanable/dirt, @@ -11501,32 +9947,11 @@ }, /turf/open/floor/iron/white/textured_large, /area/station/medical/medbay/lobby) -"epq" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/station/engineering/atmos) -"ept" = ( -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/machinery/atmospherics/components/trinary/mixer/airmix/flipped{ - dir = 1 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/station/engineering/atmos) +"epr" = ( +/obj/structure/closet/emcloset, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/engineering/atmos/space_catwalk) "epu" = ( /obj/machinery/holopad, /turf/open/floor/iron, @@ -11568,48 +9993,19 @@ }, /turf/open/floor/iron/dark/small, /area/station/science/xenobiology) -"eqL" = ( -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/yellow{ +"eqB" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 8; - name = "O2 Outlet Pump" - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/station/engineering/atmos) -"eqM" = ( -/obj/machinery/door/airlock/atmos{ - name = "Atmospherics" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, -/obj/machinery/door/firedoor, +/obj/structure/window/reinforced/plasma/spawner/directional/west, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/engineering/atmos/storage/gas) +/obj/machinery/power/energy_accumulator/tesla_coil/anchored, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "eqS" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/engineering/atmos/storage/gas) -"eqX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/station/engineering/atmos) "erg" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -11618,18 +10014,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"erk" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/station/engineering/atmos) "erA" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11642,21 +10026,32 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood/tile, /area/station/science/lower) +"erJ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/table/greyscale, +/obj/item/folder/yellow{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/glasses/meson, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "erK" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/thinplating_new, /turf/open/floor/iron/dark/herringbone, /area/station/ai_monitored/command/nuke_storage) -"erW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/engineering/atmos/pumproom) "erZ" = ( /obj/machinery/computer/records/security, /turf/open/floor/iron/small, /area/station/security/office) +"ess" = ( +/obj/structure/filingcabinet/chestdrawer, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "esv" = ( /obj/docking_port/stationary{ dwidth = 4; @@ -11668,33 +10063,6 @@ }, /turf/open/space/basic, /area/space) -"esw" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 8 - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/engineering/atmos) -"esC" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 5 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/pumproom) -"esE" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, -/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/corner{ - dir = 8 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/pumproom) "esF" = ( /obj/structure/cable, /obj/item/kirbyplants/organic/applebush, @@ -11731,6 +10099,12 @@ /obj/structure/broken_flooring/pile/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"etl" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 5 + }, +/turf/closed/wall/r_wall, +/area/station/command/heads_quarters/ce) "eto" = ( /obj/structure/table/wood, /obj/item/statuebust, @@ -11759,6 +10133,10 @@ }, /turf/open/floor/iron/stairs, /area/station/ai_monitored/turret_protected/ai) +"etX" = ( +/obj/structure/sign/warning/hot_temp/directional/east, +/turf/open/floor/iron/stairs/right, +/area/station/engineering/atmos) "etZ" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted, /obj/effect/turf_decal/siding/wideplating/dark/corner{ @@ -11771,15 +10149,6 @@ /obj/machinery/seed_extractor, /turf/open/floor/plating, /area/station/maintenance/department/prison) -"euj" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/supply/visible, -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 4; - name = "Air to Distro" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/pumproom) "euq" = ( /obj/structure/cable, /obj/item/kirbyplants/random/fullysynthetic, @@ -11816,28 +10185,17 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"euQ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/machinery/meter, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/pumproom) +"euP" = ( +/obj/structure/chair/office, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "euR" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor/iron, /area/station/science/lobby) -"euX" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/supply/visible{ - dir = 8 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/engineering/atmos/pumproom) "eva" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -11852,33 +10210,17 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"evg" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/closed/wall/r_wall, -/area/station/engineering/atmos/pumproom) -"evj" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/table/reinforced, -/obj/machinery/door/window/left/directional/east{ - name = "Engineering Desk"; - req_access = list("engineering") - }, -/obj/item/folder/yellow{ - pixel_x = 4 - }, -/obj/item/pen{ - pixel_x = 5 - }, -/obj/structure/desk_bell{ - pixel_x = -8 +"evm" = ( +/obj/machinery/door/airlock/highsecurity{ + name = "Engine Room" }, /obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_large, -/area/station/engineering/break_room) +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "engine_airlock_2" + }, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine) "evq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11886,27 +10228,11 @@ /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"evs" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"evM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/chair/office{ - dir = 8 - }, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/iron/smooth, -/area/station/engineering/break_room) -"evE" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/engineering/break_room) +/turf/open/floor/iron/small, +/area/station/maintenance/department/engine) "ewi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/light/cold/directional/west, @@ -11928,16 +10254,6 @@ }, /turf/open/floor/engine, /area/station/science/cytology) -"ewy" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/engineering/break_room) "ewz" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -11947,43 +10263,40 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/science/xenobiology) -"ewU" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "ewW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) -"exi" = ( +"exr" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 8 + }, +/obj/machinery/air_sensor/oxygen_tank, +/turf/open/floor/engine/o2, +/area/station/engineering/atmos/space_catwalk) +"exA" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /obj/structure/cable, -/obj/machinery/door/window/right/directional/east{ - name = "Access Shutter"; - req_access = list("security") - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/depsec/engineering, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/engineering/break_room) -"exJ" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"exE" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Pure to North Ports" + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"exQ" = ( +/obj/structure/chair/stool/directional/north, +/obj/effect/turf_decal/siding/yellow, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/wood, +/area/station/engineering/break_room) "exR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -11999,20 +10312,12 @@ /obj/structure/sink/directional/east, /turf/open/floor/iron/white, /area/station/medical/virology) -"eyi" = ( -/obj/structure/chair/plastic{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/maintenance/disposal/incinerator) -"eyv" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/machinery/computer/security{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) +"eyd" = ( +/obj/machinery/destructive_scanner, +/obj/machinery/light/small/directional/south, +/obj/structure/sign/departments/telecomms/directional/south, +/turf/open/floor/iron/white, +/area/station/hallway/primary/starboard) "eyz" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/structure/chair/stool/directional/west, @@ -12082,6 +10387,18 @@ /obj/vehicle/ridden/secway, /turf/open/floor/plating, /area/station/security/tram) +"ezG" = ( +/obj/structure/railing, +/obj/machinery/airalarm/directional/north, +/obj/effect/mapping_helpers/airalarm/engine_access, +/obj/effect/mapping_helpers/airalarm/link{ + chamber_id = "engine" + }, +/obj/effect/mapping_helpers/airalarm/tlv_no_checks, +/turf/open/floor/iron/stairs/old{ + dir = 4 + }, +/area/station/engineering/supermatter/room) "ezM" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/wideplating/dark{ @@ -12090,6 +10407,11 @@ /obj/effect/turf_decal/tile/dark_red/half/contrasted, /turf/open/floor/iron, /area/station/security/brig/entrance) +"ezQ" = ( +/obj/machinery/firealarm/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/break_room) "ezS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/showcase/cyborg/old{ @@ -12147,6 +10469,14 @@ /obj/machinery/light/floor, /turf/open/floor/noslip, /area/station/medical/medbay/central) +"eAC" = ( +/turf/open/floor/plating, +/area/station/engineering/atmospherics_engine) +"eAI" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer1, +/turf/open/space/basic, +/area/space/nearstation) "eAK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -12218,29 +10548,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat_interior) -"eBO" = ( -/obj/item/clothing/head/cone{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/clothing/head/cone{ - pixel_x = 5; - pixel_y = 1 - }, -/obj/item/clothing/head/cone{ - pixel_x = -5; - pixel_y = -3 - }, -/obj/item/clothing/head/cone{ - pixel_x = 5; - pixel_y = -7 - }, -/obj/item/clothing/head/cone{ - pixel_x = -3; - pixel_y = -13 - }, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/atmos) "eBQ" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/barricade/wooden/crude, @@ -12271,6 +10578,28 @@ }, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) +"eCJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/firealarm/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron/small, +/area/station/engineering/main) +"eDe" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Atmospherics Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "eDh" = ( /obj/effect/spawner/structure/window/survival_pod, /turf/open/floor/engine, @@ -12284,6 +10613,17 @@ /obj/machinery/status_display/evac/directional/east, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) +"eDo" = ( +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/engineering/construction, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/airlock/engineering/glass{ + name = "Engineering Foyer" + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/break_room) "eDt" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 @@ -12368,6 +10708,16 @@ /obj/machinery/camera/directional/west, /turf/open/floor/iron/smooth, /area/station/commons/storage/tools) +"eEL" = ( +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"eEX" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "eFc" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/firealarm/directional/west, @@ -12410,15 +10760,6 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark/small, /area/station/science/xenobiology) -"eFv" = ( -/obj/machinery/light/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/smooth_half{ - dir = 1 - }, -/area/station/maintenance/department/engine/atmos) "eFy" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -12427,11 +10768,6 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, /area/station/security/prison) -"eFN" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) "eFO" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -12442,10 +10778,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"eFP" = ( -/obj/effect/spawner/random/trash, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) "eFQ" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -12508,16 +10840,25 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/science/lower) -"eGt" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/obj/effect/spawner/structure/window/reinforced/plasma, -/turf/open/floor/plating, -/area/station/engineering/atmos) -"eGJ" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/obj/effect/spawner/structure/window/reinforced/plasma, -/turf/open/floor/plating, -/area/station/engineering/atmos) +"eGw" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Engineering - Public Desk" + }, +/obj/machinery/requests_console/directional/west{ + department = "Engineering"; + name = "Engineering Requests Console"; + pixel_x = 0; + pixel_y = -30 + }, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/machinery/modular_computer/preset/cargochat/engineering{ + dir = 4 + }, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/smooth, +/area/station/engineering/break_room) "eGL" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -12589,30 +10930,6 @@ /obj/structure/cable, /turf/open/floor/wood/tile, /area/station/maintenance/port/lesser) -"eHR" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/meter, -/turf/open/floor/plating, -/area/station/engineering/atmos) -"eHS" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"eIk" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "eIp" = ( /obj/structure/cable/layer3, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -12621,6 +10938,19 @@ /obj/machinery/light/floor, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/turret_protected/ai) +"eIv" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 9 + }, +/obj/machinery/atmospherics/components/tank, +/turf/open/floor/plating, +/area/station/engineering/atmos/pumproom) +"eIx" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "eIM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/disposalpipe/sorting/mail/flip{ @@ -12630,6 +10960,24 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"eIT" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/light/cold/dim/directional/west, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/plating, +/area/station/engineering/atmos/storage/gas) +"eIX" = ( +/obj/machinery/light/cold/directional/south, +/obj/effect/turf_decal/stripes/end{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/line, +/obj/structure/cable, +/turf/open/floor/iron/smooth_edge, +/area/station/engineering/supermatter/room) "eJe" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted, /turf/open/floor/iron/smooth, @@ -12640,20 +10988,6 @@ /obj/effect/turf_decal/tile/dark_red/opposingcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"eJk" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/atmospheric_technician, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "eJm" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/bot, @@ -12686,35 +11020,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/diagonal, /area/station/hallway/primary/central/aft) -"eJZ" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"eKd" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/atmos{ - name = "Central Atmospherics" - }, -/turf/open/floor/iron/smooth_half{ - dir = 1 - }, -/area/station/engineering/atmos) "eKf" = ( /obj/structure/table, /obj/item/storage/box/donkpockets/donkpocketpizza, @@ -12771,48 +11076,19 @@ dir = 1 }, /area/station/ai_monitored/command/storage/eva) -"eLE" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"eLJ" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/obj/machinery/computer/atmos_control/mix_tank{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 5 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/pumproom) -"eLL" = ( -/obj/effect/turf_decal/stripes/white/line, +"eLZ" = ( +/obj/effect/turf_decal/stripes/corner, /obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Mix Outlet Pump" - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/pumproom) -"eLO" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/engineering/glass{ - name = "Engineering Foyer" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/engineering/construction, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, -/turf/open/floor/iron/stairs{ + name = "Gas Port"; dir = 8 }, -/area/station/engineering/break_room) +/obj/effect/turf_decal/trimline/yellow/arrow_ccw{ + dir = 8 + }, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) "eMl" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/camera/autoname/directional/west, @@ -12826,38 +11102,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/small, /area/station/command/heads_quarters/rd) -"eMI" = ( -/obj/machinery/computer/atmos_control/nitrous_tank{ - dir = 4; - name = "Neurotoxin Supply Control" - }, -/obj/structure/sign/poster/official/random/directional/west, -/turf/open/floor/circuit/red, -/area/station/ai_monitored/turret_protected/ai) "eMU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) -"eMV" = ( -/obj/structure/table, -/obj/item/folder/yellow{ - pixel_x = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/stack/sheet/mineral/plasma/thirty, -/turf/open/floor/iron/small, -/area/station/engineering/engine_smes) -"eNb" = ( -/obj/effect/turf_decal/stripes/white/line, -/obj/machinery/atmospherics/components/unary/thermomachine/heater/on{ - dir = 1; - initialize_directions = 8 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/pumproom) "eNl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -12866,6 +11114,19 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"eNm" = ( +/obj/structure/lattice, +/obj/structure/transit_tube/curved, +/turf/open/space/basic, +/area/space/nearstation) +"eNn" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/transit_tube/horizontal, +/turf/open/floor/plating/airless, +/area/space/nearstation) "eNo" = ( /obj/item/reagent_containers/cup/glass/bottle/beer/almost_empty{ pixel_x = -6 @@ -12886,13 +11147,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/turret_protected/ai) -"eNG" = ( -/obj/machinery/atmospherics/pipe/smart/simple/supply/visible{ - dir = 5 - }, -/obj/effect/turf_decal/stripes/white/line, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/pumproom) "eNU" = ( /obj/structure/table/reinforced, /obj/item/phone{ @@ -12906,29 +11160,11 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) -"eNV" = ( -/obj/machinery/modular_computer/preset/cargochat/engineering{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/engineering/break_room) -"eOo" = ( -/obj/machinery/atmospherics/pipe/smart/simple/supply/visible{ - dir = 9 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/pumproom) -"eOp" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/engineering/atmos/pumproom) +"eOh" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "eOt" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -12941,6 +11177,15 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) +"eOP" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/holopad, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "eOZ" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/machinery/airalarm/directional/north, @@ -12961,29 +11206,6 @@ }, /turf/open/floor/iron, /area/station/cargo/miningfoundry) -"ePu" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/arrow_cw, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) -"ePw" = ( -/obj/machinery/photocopier, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/iron/smooth, -/area/station/engineering/break_room) -"ePA" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/smooth, -/area/station/engineering/break_room) "ePV" = ( /obj/structure/cable, /obj/structure/window/reinforced/spawner/directional/west, @@ -13006,18 +11228,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"eQe" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"eQi" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "eQk" = ( /obj/machinery/door/airlock/security{ name = "Isolation" @@ -13043,36 +11253,11 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/carpet/lone, /area/station/service/theater) -"eQz" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "eQC" = ( /obj/effect/spawner/random/maintenance, /obj/effect/spawner/random/structure/girder, /turf/open/floor/tram, /area/station/security/tram) -"eQJ" = ( -/obj/structure/cable, -/turf/open/floor/iron/stairs{ - dir = 8 - }, -/area/station/engineering/break_room) -"eQO" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/light/directional/south, -/obj/machinery/computer/security/telescreen/entertainment/directional/south, -/turf/open/floor/iron, -/area/station/engineering/break_room) "eQQ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -13085,12 +11270,28 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/port/aft) +"eQY" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "eRX" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/small, /area/station/medical/virology) +"eRY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/storage_shared) "eSd" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -13108,61 +11309,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/catwalk_floor/iron, /area/station/science/lower) -"eSh" = ( -/obj/structure/cable, -/obj/machinery/door/window/right/directional/east{ - name = "Access Shutter"; - req_access = list("security") - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/effect/landmark/start/depsec/engineering, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/engineering/break_room) -"eSo" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/secure_closet/security/engine, -/obj/item/radio/off{ - pixel_x = -5; - pixel_y = 2 - }, -/obj/item/geiger_counter{ - pixel_x = 7; - pixel_y = 3 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) -"eSB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "West Ports to Filter" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"eSF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"eSU" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Pure to West Ports" - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "eSV" = ( /obj/structure/bed/maint, /turf/open/floor/iron/small, @@ -13212,6 +11358,12 @@ /obj/effect/landmark/start/roboticist, /turf/open/floor/iron/grimy, /area/station/science/cubicle) +"eTj" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/storage_shared) "eTr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -13231,25 +11383,6 @@ /obj/effect/landmark/navigate_destination/hydro, /turf/open/floor/iron, /area/station/hallway/primary/port) -"eTu" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 10 - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"eTL" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/scrubber, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/engineering/atmos) "eTT" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -13269,13 +11402,6 @@ /obj/structure/disposalpipe/segment, /turf/closed/wall/r_wall, /area/station/security/brig/entrance) -"eUi" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "eUn" = ( /obj/structure/cable, /obj/structure/chair/office{ @@ -13313,14 +11439,31 @@ /obj/machinery/portable_atmospherics/scrubber, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"eUR" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1; + name = "Gas to Cold Loop" + }, +/turf/open/floor/iron/smooth_edge{ + dir = 1 + }, +/area/station/engineering/supermatter/room) "eUW" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/wood/parquet, /area/station/service/library) -"eVb" = ( -/obj/structure/closet/secure_closet/engineering_welding, -/turf/open/floor/iron/small, -/area/station/engineering/atmos) +"eUZ" = ( +/obj/effect/turf_decal/tile/dark_red{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wideplating/dark/corner{ + dir = 8 + }, +/obj/machinery/modular_computer/preset/cargochat/security{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "eVc" = ( /obj/effect/turf_decal/bot_white, /obj/effect/decal/cleanable/dirt, @@ -13342,6 +11485,30 @@ /obj/machinery/light/warm/directional/east, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/port/aft) +"eVk" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer1{ + dir = 5 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) +"eVm" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/brown/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth_edge{ + dir = 8 + }, +/area/station/engineering/supermatter/room) "eVu" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/chair/sofa/bench{ @@ -13374,6 +11541,30 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"eVY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) +"eWf" = ( +/obj/structure/closet/cardboard, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) +"eWj" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/heater/on{ + dir = 4; + initialize_directions = 8 + }, +/obj/effect/turf_decal/siding/thinplating_new/dark/end{ + dir = 1 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/pumproom) "eWB" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 1 @@ -13397,16 +11588,6 @@ /obj/machinery/light/cold/directional/west, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"eXa" = ( -/obj/structure/table/reinforced/titaniumglass, -/obj/effect/decal/cleanable/dirt, -/obj/item/phone{ - pixel_x = -2; - pixel_y = 10 - }, -/obj/item/food/bonbon/chocolate_truffle, -/turf/open/floor/iron/textured_large, -/area/station/engineering/break_room) "eXf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, @@ -13452,17 +11633,6 @@ }, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat/equipment) -"eYm" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/structure/reagent_dispensers/watertank, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "eYn" = ( /obj/machinery/computer/monitor{ dir = 1 @@ -13481,15 +11651,23 @@ }, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat/equipment) -"eYM" = ( -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron/small, -/area/station/engineering/atmos) -"eYV" = ( -/obj/structure/sink/directional/east, -/obj/structure/mirror/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +"eYD" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/chair/stool/directional/east, +/turf/open/floor/mineral/titanium, +/area/station/command/heads_quarters/ce) +"eYF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/landmark/start/depsec/engineering, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/smooth, +/area/station/security/checkpoint/engineering) "eYY" = ( /obj/structure/window/spawner/directional/west, /obj/structure/window/spawner/directional/east, @@ -13499,6 +11677,10 @@ }, /turf/open/misc/sandy_dirt, /area/station/maintenance/port/lesser) +"eZt" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/turf/open/floor/plating, +/area/station/engineering/engine_smes) "eZJ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -13512,24 +11694,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/turret_protected/ai) -"eZO" = ( -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine/atmos) -"faj" = ( -/obj/machinery/door/airlock/public, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) "fav" = ( /obj/item/kirbyplants/random/fullysynthetic, /obj/machinery/computer/security/telescreen/entertainment/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"faw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/portable_atmospherics/pump, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "faB" = ( /obj/structure/table/wood, /obj/item/book/bible, @@ -13539,31 +11708,23 @@ dir = 4 }, /area/station/maintenance/starboard/greater) +"faQ" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/airalarm/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "faR" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) -"faX" = ( -/obj/machinery/light/small/directional/north, -/obj/structure/rack, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/gloves/color/yellow, -/obj/item/grenade/chem_grenade/smart_metal_foam, -/obj/item/grenade/chem_grenade/smart_metal_foam{ - pixel_x = 9 - }, -/obj/item/clothing/ears/earmuffs{ - pixel_x = -3; - pixel_y = -2 - }, -/obj/item/clothing/ears/earmuffs{ - pixel_x = 1; - pixel_y = -2 - }, -/turf/open/floor/iron/small, -/area/station/engineering/atmos) "fbe" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -13583,19 +11744,10 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) -"fbo" = ( -/obj/structure/toilet{ - dir = 8 - }, +"fbs" = ( +/obj/effect/spawner/random/trash, /turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"fbq" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +/area/station/maintenance/department/electrical) "fbt" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -13654,11 +11806,6 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"fch" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine) "fcn" = ( /obj/effect/turf_decal/tile/red/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -13687,15 +11834,18 @@ }, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) -"fcD" = ( -/obj/effect/turf_decal/siding/purple{ - dir = 9 +"fcI" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/plasma_output{ - dir = 1 +/obj/machinery/camera/directional/north{ + c_tag = "Atmospherics - Airlock" }, -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos) +/obj/structure/cable, +/obj/structure/sign/warning/vacuum/external/directional/north, +/turf/open/floor/iron, +/area/station/engineering/atmos/space_catwalk) "fdi" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/neutral/line{ @@ -13716,15 +11866,25 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"fdF" = ( -/obj/effect/turf_decal/siding/purple{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/plasma_input{ +"fdy" = ( +/obj/structure/railing{ dir = 1 }, -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos) +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/break_room) +"fdE" = ( +/obj/machinery/door/airlock/command{ + name = "Chief Engineer's Bedroom" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/ce, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark/textured_half, +/area/station/command/heads_quarters/ce) "fdG" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -13733,14 +11893,6 @@ dir = 1 }, /area/station/science/lower) -"fdK" = ( -/obj/machinery/atmospherics/components/unary/passive_vent{ - dir = 4 - }, -/turf/open/floor/plating/rust{ - initial_gas_mix = "TEMP=2.7" - }, -/area/space/nearstation) "fdM" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -13750,21 +11902,18 @@ }, /turf/open/floor/plating, /area/station/science/robotics/lab) -"fel" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 9 - }, -/turf/open/floor/plating/airless, -/area/space/nearstation) -"feq" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/closed/wall/r_wall/rust, -/area/station/hallway/primary/fore) -"ffs" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/plating/airless, -/area/space/nearstation) +"feo" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/firealarm/directional/west, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) +"ffp" = ( +/obj/structure/closet/firecloset, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "ffD" = ( /obj/machinery/conveyor/inverted{ dir = 10; @@ -13772,10 +11921,14 @@ }, /turf/open/floor/plating, /area/station/service/janitor) -"ffO" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/turf/open/floor/plating/airless, -/area/space/nearstation) +"ffE" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 9 + }, +/obj/structure/cable, +/obj/structure/sign/poster/official/random/directional/south, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "ffX" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/poddoor/shutters/preopen{ @@ -13812,14 +11965,19 @@ dir = 1 }, /area/station/commons/storage/tools) -"fgL" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 +"fgG" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/engineering/break_room) +/obj/effect/turf_decal/tile/yellow/diagonal_centre, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron/diagonal, +/area/station/engineering/lobby) "fgW" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/vending/drugs, @@ -13829,10 +11987,6 @@ /obj/machinery/camera/directional/north, /turf/open/floor/iron/dark, /area/station/medical/medbay/aft) -"fhj" = ( -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/break_room) "fho" = ( /obj/structure/table/reinforced/plastitaniumglass, /obj/item/implanter{ @@ -13852,6 +12006,20 @@ }, /turf/open/floor/iron/small, /area/station/security/office) +"fhp" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/computer/security/telescreen{ + desc = "Used for watching the turbine vent."; + dir = 1; + name = "turbine vent monitor"; + network = list("turbine"); + pixel_y = -28 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/maintenance/disposal/incinerator) "fhs" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -13879,13 +12047,26 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/iron/cafeteria, /area/station/service/cafeteria) -"fhS" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 5 +"fhX" = ( +/obj/structure/table/greyscale, +/obj/item/folder/yellow{ + pixel_x = 2; + pixel_y = 4 }, -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/plating/airless, -/area/space/nearstation) +/obj/item/pen{ + pixel_x = -4 + }, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) +"fib" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/small, +/area/station/engineering/break_room) "fii" = ( /obj/effect/spawner/random/trash/graffiti{ pixel_x = -32; @@ -13895,35 +12076,26 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) -"fik" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/engineering/break_room) -"fiA" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/landmark/atmospheric_sanity/ignore_area, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) +"fiq" = ( +/obj/machinery/computer/atmos_control/nitrous_tank, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/office) +"fiw" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/table, +/obj/item/stack/sheet/mineral/plasma/five, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "fiD" = ( /obj/structure/table, /obj/item/plate, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) -"fiF" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 4 - }, -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/plating/airless, -/area/space/nearstation) +"fiI" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "fiW" = ( /obj/effect/turf_decal/siding/dark_red/corner{ dir = 8 @@ -13966,14 +12138,6 @@ /obj/structure/reagent_dispensers/cooking_oil, /turf/open/floor/iron/freezer, /area/station/service/kitchen/coldroom) -"fjK" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible, -/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{ - dir = 4 - }, -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/plating/airless, -/area/space/nearstation) "fjL" = ( /obj/effect/turf_decal/siding/wood{ dir = 9 @@ -13990,22 +12154,6 @@ /obj/machinery/door/window/survival_pod/left/directional/east, /turf/open/floor/iron, /area/station/maintenance/fore/greater) -"fjR" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, -/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{ - dir = 4 - }, -/turf/open/floor/plating/rust{ - initial_gas_mix = "TEMP=2.7" - }, -/area/space/nearstation) -"fjS" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 8 - }, -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/plating/airless, -/area/space/nearstation) "fjV" = ( /obj/item/radio/intercom/directional/south{ broadcasting = 1; @@ -14035,12 +12183,6 @@ /obj/item/mod/module/signlang_radio, /turf/open/floor/iron/small, /area/station/medical/storage) -"fkt" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 8 - }, -/turf/open/floor/plating/airless, -/area/space/nearstation) "fky" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ dir = 5 @@ -14053,13 +12195,6 @@ /obj/structure/alien/weeds, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"flg" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 10 - }, -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/plating/airless, -/area/space/nearstation) "flo" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -14082,6 +12217,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/fore/greater) +"flE" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Engineering - Canister Storage" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/storage/gas) "flM" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14089,11 +12231,6 @@ /obj/item/kirbyplants/organic/applebush, /turf/open/floor/wood/tile, /area/station/command/corporate_showroom) -"flQ" = ( -/turf/open/floor/plating/rust{ - initial_gas_mix = "TEMP=2.7" - }, -/area/space/nearstation) "flX" = ( /obj/item/flashlight/lantern, /turf/open/floor/plating/rust, @@ -14103,15 +12240,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"fmj" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "fmq" = ( /obj/structure/closet/crate, /obj/effect/spawner/random/maintenance/three, @@ -14150,20 +12278,10 @@ /obj/effect/landmark/start/depsec/science, /turf/open/floor/iron, /area/station/security/checkpoint/science) -"fnp" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"fnr" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/engineering/atmos/pumproom) +"fnm" = ( +/obj/structure/filingcabinet/chestdrawer, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "fnw" = ( /obj/structure/chair{ pixel_y = -2 @@ -14208,12 +12326,6 @@ /obj/item/storage/fancy/donut_box, /turf/open/floor/iron/textured_large, /area/station/security/brig/entrance) -"fnZ" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/o2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "foe" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -14228,20 +12340,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"foi" = ( -/obj/machinery/door/airlock/external/glass, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/turf/open/floor/plating/airless, -/area/station/engineering/atmos/pumproom) -"for" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/item/radio/intercom/directional/west, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "fov" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/machinery/vending/security, @@ -14263,37 +12361,26 @@ dir = 8 }, /area/station/science/xenobiology) -"foJ" = ( -/turf/closed/wall/r_wall/rust, -/area/station/command/heads_quarters/ce) "foL" = ( /obj/structure/sign/poster/official/random/directional/north, /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"fpb" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ +"fpg" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=20.0-CentralPort-Bar"; + location = "19.0-Engineering-CentralPort" + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line{ dir = 4 }, -/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"fpk" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Air to East Ports" - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "fpl" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/dark_red{ @@ -14323,6 +12410,19 @@ /obj/effect/mapping_helpers/airlock/access/all/science/research, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"fpF" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer2{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + name = "Turbine Interior Airlock" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/disposal/incinerator) "fpO" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/ce) @@ -14334,15 +12434,6 @@ "fpY" = ( /turf/closed/mineral/random/stationside, /area/station/ai_monitored/aisat/exterior) -"fqf" = ( -/obj/structure/cable, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "ceprivacy"; - name = "Privacy Shutter" - }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/ce) "fqG" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -14361,10 +12452,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"fqV" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/turf/open/floor/glass/reinforced, -/area/station/command/bridge) +"fqQ" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "frf" = ( /obj/structure/table/glass, /obj/item/defibrillator/loaded{ @@ -14380,34 +12472,6 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"frj" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) -"frq" = ( -/obj/machinery/suit_storage_unit/engine, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/engineering/main) -"frs" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/command{ - name = "Chief Engineer's Office" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/ce, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/command/heads_quarters/ce) "frI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral{ @@ -14421,22 +12485,6 @@ /obj/machinery/door/window/brigdoor/right/directional/north, /turf/open/floor/iron/textured_large, /area/station/security/checkpoint/customs) -"fsf" = ( -/obj/structure/table/reinforced/titaniumglass, -/obj/structure/railing{ - dir = 10 - }, -/obj/effect/turf_decal/siding/white{ - dir = 10 - }, -/obj/machinery/fax{ - fax_name = "Engineering Lobby"; - name = "Engineering Lobby Fax Machine"; - pixel_x = 8; - pixel_y = 9 - }, -/turf/open/floor/iron/textured_large, -/area/station/engineering/break_room) "fst" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted, /obj/effect/mapping_helpers/broken_floor, @@ -14448,30 +12496,6 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/station/medical/chemistry) -"fsz" = ( -/obj/structure/table/reinforced/titaniumglass, -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/cell_charger{ - pixel_x = 2; - pixel_y = 1 - }, -/obj/item/stock_parts/cell/high{ - pixel_x = 2; - pixel_y = 1 - }, -/turf/open/floor/iron/textured_large, -/area/station/engineering/break_room) -"fsD" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/holopad, -/turf/open/floor/iron, -/area/station/engineering/break_room) "fsL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14484,17 +12508,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/circuit, /area/station/tcommsat/server) -"fsV" = ( -/obj/structure/cable, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/engineering/break_room) "fsW" = ( /obj/effect/turf_decal/siding/wood{ dir = 6 @@ -14504,19 +12517,19 @@ }, /turf/open/floor/wood/tile, /area/station/maintenance/aft) -"fta" = ( -/obj/effect/turf_decal/siding/purple{ - dir = 10 - }, -/obj/machinery/air_sensor/plasma_tank, -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos) -"ftb" = ( -/obj/machinery/power/turbine/inlet_compressor{ +"ftc" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/turf_decal/siding/wideplating{ dir = 1 }, -/turf/open/floor/engine, -/area/station/maintenance/disposal/incinerator) +/obj/structure/closet/emcloset, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/camera/directional/west{ + c_tag = "Atmospherics - Lockers" + }, +/obj/structure/sign/poster/official/random/directional/south, +/turf/open/floor/iron, +/area/station/engineering/atmos) "ftm" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -14565,35 +12578,10 @@ }, /turf/open/floor/iron, /area/station/security/warden) -"ftF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/small, -/area/station/engineering/atmos) -"ftO" = ( -/obj/effect/turf_decal/siding/purple{ - dir = 6 - }, -/obj/machinery/light/small/directional/east, -/obj/machinery/camera/emp_proof{ - c_tag = "Engineering - Atmospherics CO2 Chamber"; - dir = 5; - network = list("ss13","engineering") - }, -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos) "ftX" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/port) -"ftZ" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, -/obj/effect/spawner/structure/window/reinforced/plasma, -/turf/open/floor/plating, -/area/station/engineering/atmos) "fuj" = ( /obj/structure/table/glass, /obj/effect/turf_decal/siding/dark_red, @@ -14620,11 +12608,6 @@ /obj/effect/mapping_helpers/airlock/access/all/command/minisat, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) -"fuo" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/plating/airless, -/area/space/nearstation) "fuz" = ( /obj/machinery/light/small/directional/east, /obj/machinery/power/shieldwallgen/xenobiologyaccess, @@ -14632,6 +12615,23 @@ /obj/structure/cable/multilayer, /turf/open/floor/plating, /area/station/science/xenobiology) +"fuB" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos) "fuC" = ( /obj/machinery/door/poddoor/incinerator_atmos_aux, /turf/open/floor/engine/airless, @@ -14642,10 +12642,16 @@ }, /turf/open/space/basic, /area/space) -"fuR" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/airless, -/area/station/engineering/atmos/pumproom) +"fuT" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/manifold/general/visible{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/supermatter/room) "fvh" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/disposaloutlet{ @@ -14654,20 +12660,17 @@ /obj/structure/disposalpipe/trunk, /turf/open/floor/iron, /area/station/hallway/primary/port) +"fvs" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor, +/area/station/command/heads_quarters/ce) "fvz" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) -"fvC" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/status_display/evac/directional/west, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "fvF" = ( /obj/effect/turf_decal/siding/dark_red, /obj/machinery/modular_computer/preset/id{ @@ -14683,21 +12686,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/engine, /area/station/science/xenobiology) -"fvJ" = ( -/obj/structure/cable, -/obj/machinery/computer/apc_control{ - dir = 4 - }, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/requests_console/directional/north{ - department = "Chief Engineer's Desk"; - name = "Chief Engineer's Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/information, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "fvL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -14706,11 +12694,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/processing) -"fvT" = ( -/obj/structure/cable, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "fwc" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -14748,21 +12731,6 @@ /obj/machinery/holopad, /turf/open/floor/iron/white, /area/station/security/medical) -"fwO" = ( -/obj/structure/table/reinforced/titaniumglass, -/obj/effect/turf_decal/siding/wideplating_new/light{ - dir = 4 - }, -/obj/machinery/fax{ - fax_name = "Chief Engineer's Office"; - name = "Chief Engineer's Fax Machine"; - pixel_y = 7 - }, -/obj/item/stock_parts/cell/high{ - pixel_y = -9 - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "fwS" = ( /turf/open/floor/circuit, /area/station/maintenance/port/aft) @@ -14788,29 +12756,6 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/station/hallway/secondary/entry) -"fxt" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) -"fxw" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/stripes/box, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/computer/security/telescreen/ce{ - dir = 8; - pixel_x = 30 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plating, -/area/station/command/heads_quarters/ce) "fxF" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14818,6 +12763,22 @@ /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"fxM" = ( +/obj/machinery/atmospherics/components/binary/pump/off/general/visible/layer5{ + dir = 4; + name = "Air to Pure" + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "N2 to Pure" + }, +/obj/machinery/atmospherics/components/binary/pump/off/general/visible/layer1{ + dir = 4; + name = "O2 to Pure" + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "fxN" = ( /obj/structure/table, /turf/open/floor/iron/kitchen/small, @@ -14826,6 +12787,14 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_recreation) +"fxV" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Pure to Waste" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "fyo" = ( /obj/structure/table, /obj/machinery/light/small/directional/east, @@ -14834,9 +12803,6 @@ }, /turf/open/floor/iron/kitchen/small, /area/station/security/breakroom) -"fyr" = ( -/turf/closed/wall/rust, -/area/station/command/heads_quarters/ce) "fyt" = ( /obj/structure/chair/sofa/corp{ dir = 1 @@ -14872,17 +12838,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"fyQ" = ( -/obj/machinery/suit_storage_unit/ce, -/turf/open/floor/iron/grimy, -/area/station/command/heads_quarters/ce) -"fyT" = ( -/obj/structure/dresser, -/obj/machinery/light/small/directional/north, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/structure/sign/poster/contraband/random/directional/east, -/turf/open/floor/iron/grimy, -/area/station/command/heads_quarters/ce) "fyZ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -14890,12 +12845,6 @@ }, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"fzc" = ( -/obj/structure/closet/secure_closet/engineering_electrical, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/south, -/turf/open/floor/iron/small, -/area/station/engineering/atmos) "fzd" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -14904,26 +12853,11 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"fze" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/random/trash, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine/atmos) "fzf" = ( /obj/machinery/vending/boozeomat, /obj/machinery/light/cold/directional/east, /turf/closed/wall, /area/station/service/bar) -"fzl" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 9 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "fzq" = ( /obj/structure/closet/crate/trashcart/filled, /turf/open/floor/plating, @@ -14948,14 +12882,18 @@ /obj/effect/spawner/random/trash, /turf/open/floor/plating/rust, /area/station/ai_monitored/turret_protected/aisat/maint) -"fAe" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 9 +"fzI" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 4 }, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/engineering/supermatter/room) "fAr" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/barricade/wooden/crude, @@ -14987,38 +12925,6 @@ /obj/machinery/light/cold/directional/south, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"fAM" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/obj/structure/window/spawner/directional/south, -/obj/effect/turf_decal/tile/blue, -/obj/structure/table/reinforced/titaniumglass, -/obj/effect/decal/cleanable/dirt, -/obj/item/clothing/suit/hazardvest{ - pixel_x = -4; - pixel_y = -2 - }, -/obj/item/clothing/suit/hazardvest{ - pixel_x = -2 - }, -/obj/item/electronics/airalarm{ - pixel_x = 15; - pixel_y = -5 - }, -/obj/item/electronics/airalarm{ - pixel_x = 18; - pixel_y = -3 - }, -/obj/item/multitool{ - pixel_x = 11; - pixel_y = 5 - }, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/engineering/atmos) -"fAN" = ( -/turf/closed/wall/r_wall/rust, -/area/station/maintenance/department/engine) "fAP" = ( /obj/structure/cable, /obj/structure/disposalpipe/sorting/mail/flip{ @@ -15028,35 +12934,11 @@ /obj/effect/mapping_helpers/mail_sorting/science/experimentor_lab, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"fAR" = ( -/obj/effect/turf_decal/caution/stand_clear/white{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/smooth_half{ - dir = 1 - }, -/area/station/maintenance/department/engine/atmos) "fAS" = ( /obj/structure/chair/stool/directional/south, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/prison/workout) -"fAX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ - dir = 8 - }, -/obj/effect/turf_decal/tile/yellow, -/obj/structure/window/spawner/directional/south, -/obj/structure/table/reinforced/titaniumglass, -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/bag/construction, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/engineering/atmos) "fAY" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/tile/blue/full, @@ -15075,31 +12957,6 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/white/smooth_large, /area/station/medical/storage) -"fAZ" = ( -/obj/structure/window/spawner/directional/south, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/closet_empty/crate, -/obj/item/circuitboard/machine/thermomachine, -/obj/item/stack/rods/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/brown/visible, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/engineering/atmos) -"fBe" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/purple/visible, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Air to Mix" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/pumproom) "fBf" = ( /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, @@ -15130,14 +12987,17 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"fBz" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, +"fBy" = ( +/obj/structure/table, +/obj/item/folder, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/engine) +"fBO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/tank_holder/extinguisher, +/turf/open/floor/iron, +/area/station/maintenance/department/engine/atmos) "fBX" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, /obj/effect/turf_decal/siding/white{ @@ -15145,6 +13005,16 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"fBZ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Engineering - Emitters" + }, +/obj/machinery/power/energy_accumulator/tesla_coil, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "fCd" = ( /turf/open/floor/wood, /area/station/cargo/miningfoundry) @@ -15155,13 +13025,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/small, /area/station/hallway/secondary/exit/departure_lounge) -"fCg" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "fCp" = ( /obj/machinery/computer/pod/old/mass_driver_controller/chapelgun{ pixel_x = 30 @@ -15229,46 +13092,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/hallway/secondary/service) -"fDs" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/iron/smooth, -/area/station/engineering/break_room) -"fDw" = ( -/obj/structure/table/reinforced/titaniumglass, -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/item/paper_bin{ - pixel_x = -1; - pixel_y = 3 - }, -/obj/item/pen{ - pixel_y = 5 - }, -/turf/open/floor/iron/textured_large, -/area/station/engineering/break_room) -"fDC" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/engineering/break_room) -"fDF" = ( -/obj/structure/cable, -/obj/machinery/door/window/left/directional/east{ - name = "Access Shutter"; - req_access = list("security") - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/depsec/engineering, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/engineering/break_room) "fDI" = ( /turf/open/floor/iron, /area/station/hallway/primary/aft) @@ -15285,6 +13108,12 @@ }, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat_interior) +"fDO" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/closed/wall, +/area/station/engineering/atmos/storage/gas) "fDQ" = ( /obj/machinery/flasher/directional/north, /turf/open/floor/iron/dark/smooth_large, @@ -15306,28 +13135,87 @@ }, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat_interior) +"fDW" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/break_room) "fDY" = ( /obj/structure/cable, /obj/structure/flora/bush/flowers_pp/style_random, /turf/open/floor/grass, /area/station/science/xenobiology) -"fEb" = ( -/turf/open/floor/engine/n2o, -/area/station/ai_monitored/turret_protected/ai) "fEd" = ( /obj/structure/chair{ dir = 1 }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"fEe" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/engineering/lobby) +"fEi" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/yellow/arrow_ccw{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/structure/sign/poster/official/plasma_effects/directional/west, +/obj/effect/mapping_helpers/apc/cell_10k, +/turf/open/floor/iron/smooth_corner{ + dir = 4 + }, +/area/station/engineering/supermatter/room) "fEq" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"fEr" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/yellow/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 10 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/turf/open/floor/iron/smooth, +/area/station/maintenance/disposal/incinerator) "fEC" = ( /turf/closed/wall, /area/station/maintenance/port/lesser) +"fEU" = ( +/obj/structure/table, +/obj/item/multitool{ + pixel_x = -7; + pixel_y = 1 + }, +/obj/item/wirecutters{ + pixel_y = -1; + pixel_x = 10 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/department/engine/atmos) "fEV" = ( /obj/machinery/porta_turret/ai, /obj/machinery/computer/security/telescreen/minisat{ @@ -15338,6 +13226,17 @@ /obj/machinery/status_display/ai/directional/north, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat_interior) +"fFe" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "fFt" = ( /obj/structure/chair/wood{ dir = 8 @@ -15345,6 +13244,9 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/station/service/chapel/funeral) +"fFu" = ( +/turf/open/floor/iron/stairs/medium, +/area/station/engineering/atmos) "fFD" = ( /obj/effect/turf_decal/siding/blue, /obj/effect/landmark/start/paramedic, @@ -15361,6 +13263,17 @@ }, /turf/open/floor/plating, /area/station/security/warden) +"fFO" = ( +/obj/machinery/door/airlock/external{ + name = "Escape Pod Three"; + space_dir = 1 + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/iron/small, +/area/station/maintenance/department/electrical) "fFT" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -15414,30 +13327,16 @@ }, /turf/open/floor/plating/rust, /area/station/ai_monitored/turret_protected/aisat/maint) -"fGE" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 9 - }, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron/dark/corner{ +"fGU" = ( +/obj/effect/turf_decal/stripes/red/line{ dir = 1 }, -/area/station/engineering/atmos) -"fHa" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/station/engineering/atmos) +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/warning/pods/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/hallway) "fHb" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/cable, @@ -15450,27 +13349,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"fHh" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 5 - }, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/station/engineering/atmos) -"fHn" = ( -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/brown/visible, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/station/engineering/atmos) "fHv" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -15480,6 +13358,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) +"fHD" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/airalarm/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/storage_shared) "fHN" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -15495,15 +13381,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"fHQ" = ( -/obj/effect/turf_decal/siding/red{ - dir = 9 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/nitrogen_output{ - dir = 1 - }, -/turf/open/floor/engine/n2, -/area/station/engineering/atmos) "fHT" = ( /obj/machinery/newscaster/directional/south, /obj/machinery/vending/wardrobe/science_wardrobe, @@ -15514,39 +13391,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/grimy, /area/station/science/cubicle) -"fIg" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/purple/visible, -/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/pumproom) -"fIr" = ( -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/iron/small, -/area/station/engineering/main) -"fIE" = ( -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 2 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/mail_sorting/engineering/ce_office, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) -"fIK" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "fJl" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -15568,13 +13412,12 @@ /obj/effect/mapping_helpers/airlock/access/all/command/minisat, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/ai_monitored/turret_protected/aisat/teleporter) -"fJu" = ( -/obj/structure/cable, -/obj/machinery/power/smes/full, -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/station/engineering/gravity_generator) +"fJt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "fJK" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -15588,16 +13431,24 @@ }, /turf/open/floor/iron, /area/station/science/xenobiology) -"fJO" = ( -/obj/machinery/conveyor_switch/oneway{ - id = "flamedra"; - name = "Incinerator Conveyor"; - pixel_x = -13; - pixel_y = -4 +"fJP" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 }, -/obj/structure/closet/firecloset, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"fJX" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/transit_tube/crossing/horizontal{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) "fJZ" = ( /obj/structure/closet/firecloset, /obj/effect/turf_decal/tile/yellow{ @@ -15630,6 +13481,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/space/basic, /area/space/nearstation) +"fKA" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "fKO" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -15637,6 +13498,15 @@ /obj/structure/sign/departments/court/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"fKR" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/disposal/bin, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm/directional/north, +/obj/structure/disposalpipe/trunk, +/obj/effect/turf_decal/stripes/box, +/turf/open/floor/iron, +/area/station/engineering/hallway) "fLf" = ( /obj/structure/cable/layer3, /obj/structure/cable, @@ -15655,6 +13525,20 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/stone, /area/station/service/bar/backroom) +"fLj" = ( +/obj/item/clothing/head/cone{ + pixel_x = -12; + pixel_y = 5 + }, +/obj/effect/decal/cleanable/insectguts, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating/elevatorshaft, +/area/station/engineering/atmos) "fLk" = ( /obj/effect/turf_decal/tile/green{ dir = 8 @@ -15692,20 +13576,49 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat_interior) -"fLz" = ( -/obj/item/kirbyplants/random, +"fLy" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/table, +/obj/item/reagent_containers/condiment/pack/sugar{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/reagent_containers/cup/glass/coffee/no_lid{ + pixel_y = 13; + pixel_x = 6 + }, +/obj/item/plate/small{ + pixel_y = 1; + pixel_x = -4 + }, /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, +/obj/item/food/butterbiscuit{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, /turf/open/floor/iron, -/area/station/engineering/atmos/storage/gas) +/area/station/engineering/hallway) "fLC" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/opposingcorners, /obj/structure/barricade/wooden, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"fLE" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "fLK" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -15718,15 +13631,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security) -"fLX" = ( -/obj/effect/turf_decal/siding/red{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/nitrogen_input{ - dir = 1 - }, -/turf/open/floor/engine/n2, -/area/station/engineering/atmos) "fMj" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -15762,18 +13666,46 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"fMA" = ( +/obj/machinery/disposal/bin, +/obj/machinery/light/cold/dim/directional/north, +/obj/structure/disposalpipe/trunk, +/obj/machinery/button/door/directional/west{ + id = "Engineering"; + name = "Engineering Lockdown"; + pixel_x = -2; + pixel_y = 24; + req_access = list("engineering") + }, +/obj/machinery/button/door/directional/west{ + id = "Secure Storage"; + name = "Engineering Secure Storage"; + pixel_y = 24; + req_access = list("engine_equip"); + pixel_x = 9 + }, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/box, +/turf/open/floor/mineral/titanium, +/area/station/command/heads_quarters/ce) "fMD" = ( /turf/open/floor/iron/white/small, /area/station/service/hydroponics) -"fMN" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 9 +"fMP" = ( +/obj/structure/table/reinforced/titaniumglass, +/obj/item/binoculars{ + pixel_x = -7; + pixel_y = 13 }, -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/oxygen_output{ - dir = 1 +/obj/item/phone{ + pixel_x = -3; + pixel_y = -3 }, -/turf/open/floor/engine/o2, -/area/station/engineering/atmos) +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/office) "fMQ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -15792,29 +13724,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/small, /area/station/hallway/secondary/exit/departure_lounge) -"fNh" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/assistant, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) -"fNk" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/structure/table/reinforced/titaniumglass, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high, -/turf/open/floor/iron, -/area/station/engineering/atmos/storage/gas) -"fNr" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/oxygen_input{ - dir = 1 - }, -/turf/open/floor/engine/o2, -/area/station/engineering/atmos) "fNu" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -15835,15 +13744,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"fNA" = ( -/obj/effect/turf_decal/siding/white{ - dir = 9 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/monitored/air_output{ - dir = 1 - }, -/turf/open/floor/engine/air, -/area/station/engineering/atmos) "fNF" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 4 @@ -15856,12 +13756,14 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/catwalk_floor, /area/station/ai_monitored/turret_protected/ai) -"fNH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/small, -/area/station/engineering/atmos) +"fNQ" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 9 + }, +/obj/structure/railing/corner, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "fNR" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/left/directional/north{ @@ -15882,29 +13784,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"fOj" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "fOk" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat_interior) -"fOn" = ( -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/air_input{ - dir = 1 - }, -/turf/open/floor/engine/air, -/area/station/engineering/atmos) "fOQ" = ( /obj/structure/cable, /obj/structure/window/reinforced/spawner/directional/north, @@ -15914,30 +13799,12 @@ /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) -"fPt" = ( -/obj/structure/cable, -/obj/machinery/power/smes/engineering, -/obj/machinery/light/small/directional/south, -/obj/machinery/light_switch/directional/south, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/plating/rust, -/area/station/maintenance/disposal/incinerator) "fPu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable/layer3, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat_interior) -"fPv" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/warning/no_smoking/circle/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/dark, -/area/station/engineering/main) "fPA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -15961,6 +13828,20 @@ /obj/structure/alien/weeds, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"fPY" = ( +/obj/effect/turf_decal/siding/yellow/corner{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow/diagonal_centre, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/mail_sorting/engineering/atmospherics, +/obj/structure/disposalpipe/sorting/mail{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/diagonal, +/area/station/engineering/lobby) "fQi" = ( /obj/structure/chair/sofa/bench/left{ dir = 1 @@ -15984,35 +13865,40 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) -"fQN" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 4 +"fQL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/hidden{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, -/obj/machinery/door/window/brigdoor/left/directional/west{ - atom_integrity = 300 - }, -/obj/machinery/button/door/incinerator_vent_atmos_aux{ - pixel_x = -8; - pixel_y = -24 - }, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/disposal/incinerator) +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "fQY" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/south, /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat_interior) -"fRd" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ +"fRm" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer5{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, -/obj/machinery/door/airlock/public/glass/incinerator/atmos_exterior, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/disposal/incinerator) +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer4{ + dir = 8 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "fRq" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 4 @@ -16033,10 +13919,16 @@ /obj/item/plunger, /turf/open/floor/iron, /area/station/medical/chemistry) -"fRB" = ( -/obj/effect/spawner/random/structure/girder, -/obj/effect/spawner/random/structure/grille, -/turf/open/floor/plating, +"fRv" = ( +/obj/structure/table, +/obj/effect/turf_decal/siding/thinplating_new/terracotta{ + dir = 5 + }, +/obj/effect/spawner/random/maintenance{ + pixel_x = -17; + pixel_y = 7 + }, +/turf/open/floor/iron/dark/small, /area/station/maintenance/department/engine/atmos) "fRJ" = ( /obj/effect/turf_decal/tile/blue, @@ -16065,28 +13957,6 @@ /obj/machinery/light/small/broken/directional/west, /turf/open/floor/plating, /area/station/maintenance/central/greater) -"fSr" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) -"fSv" = ( -/obj/structure/cable, -/obj/machinery/door/airlock/command{ - name = "Chief Engineer's Bedroom" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/ce, -/turf/open/floor/iron/smooth_half{ - dir = 1 - }, -/area/station/command/heads_quarters/ce) "fSx" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -16118,16 +13988,6 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/iron/white/small, /area/station/medical/psychology) -"fSL" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/incinerator_input{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/maintenance/disposal/incinerator) -"fSW" = ( -/obj/structure/cable, -/turf/open/floor/iron/grimy, -/area/station/command/heads_quarters/ce) "fSX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -16151,6 +14011,13 @@ "fTe" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/aisat_interior) +"fTf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/maintenance/department/engine/atmos) "fTh" = ( /turf/closed/wall/r_wall/rust, /area/station/ai_monitored/turret_protected/aisat_interior) @@ -16215,14 +14082,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"fUL" = ( -/obj/machinery/door/poddoor{ - id = "Secure Storage"; - name = "Secure Storage" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/station/engineering/atmos) "fUO" = ( /obj/machinery/turretid{ control_area = "/area/station/ai_monitored/turret_protected/aisat_interior"; @@ -16278,6 +14137,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/cafeteria, /area/station/science/circuits) +"fVA" = ( +/obj/structure/sign/poster/official/random/directional/west, +/turf/open/floor/iron/small, +/area/station/security/checkpoint/engineering) "fVG" = ( /obj/structure/cable, /turf/open/floor/iron/smooth, @@ -16298,6 +14161,30 @@ /obj/machinery/camera/directional/east, /turf/open/floor/iron, /area/station/service/hydroponics) +"fWe" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/firealarm/directional/west, +/obj/machinery/camera/directional/west{ + c_tag = "Engineering - West" + }, +/turf/open/floor/iron/smooth_edge{ + dir = 8 + }, +/area/station/engineering/supermatter/room) +"fWf" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Mix to Engine" + }, +/obj/machinery/atmospherics/pipe/smart/simple/supply/visible/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "fWr" = ( /obj/structure/closet/crate, /obj/structure/barricade/wooden/crude, @@ -16336,6 +14223,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) +"fXe" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/atmos/glass{ + name = "Locker Room" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "fXg" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -16344,11 +14243,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"fXi" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "fXj" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -16371,6 +14265,21 @@ }, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat/foyer) +"fXo" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/closed/wall/r_wall, +/area/station/maintenance/department/engine) +"fXB" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/door/airlock/security/glass{ + name = "Engineering Security Post" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/turf/open/floor/catwalk_floor, +/area/station/security/checkpoint/engineering) "fXD" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 @@ -16398,6 +14307,19 @@ /obj/effect/landmark/navigate_destination/vault, /turf/open/floor/glass, /area/station/hallway/secondary/spacebridge) +"fYr" = ( +/obj/structure/table, +/obj/item/extinguisher/empty, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/dark, +/area/station/maintenance/department/engine/atmos) +"fYU" = ( +/obj/effect/spawner/random/structure/crate_loot, +/obj/item/pickaxe, +/obj/effect/spawner/random/maintenance, +/turf/open/misc/asteroid, +/area/station/maintenance/department/engine/atmos) "fYX" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -16425,11 +14347,6 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/grimy, /area/station/tcommsat/server) -"fZq" = ( -/obj/machinery/door/window/left/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine) "fZu" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/decal/cleanable/dirt, @@ -16440,6 +14357,23 @@ dir = 8 }, /area/station/hallway/secondary/dock) +"fZL" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/item/kirbyplants/random, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/smooth, +/area/station/engineering/engine_smes) +"fZV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) "gad" = ( /obj/structure/table/bronze, /obj/item/food/grown/cannabis{ @@ -16552,6 +14486,13 @@ /obj/structure/alien/weeds, /turf/open/misc/asteroid, /area/station/maintenance/starboard/greater) +"gbE" = ( +/obj/effect/turf_decal/siding/purple{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/plasma_output, +/turf/open/floor/engine/plasma, +/area/station/engineering/atmos/space_catwalk) "gbH" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16568,19 +14509,6 @@ /obj/effect/spawner/random/structure/girder, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"gcf" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/computer/department_orders/medical{ - dir = 1 - }, -/obj/item/radio/intercom/directional/south, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/iron/dark, -/area/station/medical/medbay/central) -"gcm" = ( -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine/atmos) "gcs" = ( /turf/closed/wall, /area/space/nearstation) @@ -16592,6 +14520,28 @@ /obj/effect/spawner/random/structure/crate_abandoned, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) +"gcM" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/engineering/hallway) +"gcR" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing, +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer5{ + dir = 4 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "gdn" = ( /obj/item/kirbyplants/organic/applebush, /obj/effect/turf_decal/tile/red{ @@ -16607,6 +14557,15 @@ "gdr" = ( /turf/closed/wall/rust, /area/station/maintenance/fore/lesser) +"gdA" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/machinery/airalarm/directional/north, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/mineral/titanium, +/area/station/command/heads_quarters/ce) "gdB" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -16668,43 +14627,12 @@ /obj/machinery/light/small/directional/west, /turf/open/misc/sandy_dirt, /area/station/hallway/primary/central/fore) -"geG" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/machinery/button/door/directional/west{ - id = "atmosbridge"; - name = "Space Bridge" - }, -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance" - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) -"geI" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) "geJ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, /turf/open/floor/iron/dark/smooth_large, /area/station/security/execution/education) -"geQ" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 6 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "geS" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -16731,14 +14659,6 @@ /obj/effect/mapping_helpers/airlock/access/all/command/general, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/ai_monitored/turret_protected/aisat/foyer) -"gfc" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) "gfs" = ( /turf/closed/wall/r_wall, /area/station/hallway/secondary/command) @@ -16752,24 +14672,17 @@ /obj/effect/mapping_helpers/airalarm/tlv_no_checks, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"gfE" = ( -/obj/effect/turf_decal/siding/red{ - dir = 8 +"gfA" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ + dir = 1 }, -/obj/machinery/air_sensor/nitrogen_tank, -/turf/open/floor/engine/n2, -/area/station/engineering/atmos) +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "gfJ" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/central/lesser) -"gfL" = ( -/obj/effect/turf_decal/siding/red{ - dir = 4 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/engine/n2, -/area/station/engineering/atmos) "gfM" = ( /obj/effect/landmark/event_spawn, /obj/effect/landmark/start/paramedic, @@ -16831,25 +14744,16 @@ }, /turf/open/floor/engine, /area/station/science/explab) -"ggW" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor/border_only{ +"ggX" = ( +/obj/effect/turf_decal/siding/yellow{ dir = 1 }, -/obj/effect/landmark/start/hangover, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=13.2-Tcommstore"; - location = "13.1-Engineering-Enter" - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/line{ +/obj/effect/turf_decal/tile/yellow/diagonal_centre, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) +/turf/open/floor/iron/diagonal, +/area/station/engineering/lobby) "ghc" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -16861,15 +14765,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"ghd" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "ghs" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16932,20 +14827,6 @@ }, /turf/open/floor/plating, /area/station/service/janitor) -"gic" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 8 - }, -/obj/machinery/air_sensor/oxygen_tank, -/turf/open/floor/engine/o2, -/area/station/engineering/atmos) -"gig" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 4 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/engine/o2, -/area/station/engineering/atmos) "gih" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -16956,13 +14837,10 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"gij" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/air_sensor/air_tank, -/turf/open/floor/engine/air, -/area/station/engineering/atmos) +"giq" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "gir" = ( /obj/machinery/shower/directional/south, /obj/structure/curtain, @@ -16970,19 +14848,6 @@ /obj/machinery/nuclearbomb/beer, /turf/open/floor/iron/freezer, /area/station/command/corporate_suite) -"giy" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/engine/air, -/area/station/engineering/atmos) -"giO" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/mix_input{ - dir = 1 - }, -/turf/open/floor/engine/vacuum, -/area/station/engineering/atmos) "giU" = ( /obj/effect/turf_decal/siding/thinplating_new/terracotta{ dir = 1 @@ -17017,6 +14882,48 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/tcommsat/server) +"gjP" = ( +/obj/structure/table/reinforced/titaniumglass, +/obj/item/grenade/chem_grenade/smart_metal_foam{ + pixel_x = -2; + pixel_y = 9 + }, +/obj/item/clothing/suit/hazardvest{ + pixel_x = -3; + pixel_y = -7 + }, +/obj/item/clothing/suit/hazardvest{ + pixel_x = 3; + pixel_y = -2 + }, +/obj/item/grenade/chem_grenade/smart_metal_foam{ + pixel_x = 3; + pixel_y = 6 + }, +/obj/item/grenade/chem_grenade/smart_metal_foam{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/clothing/head/cone{ + pixel_x = 6; + pixel_y = -8 + }, +/obj/item/clothing/head/cone{ + pixel_x = -3; + pixel_y = -14 + }, +/obj/item/clothing/head/cone{ + pixel_x = 6; + pixel_y = -8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "gjS" = ( /obj/effect/turf_decal/siding/thinplating_new/terracotta{ dir = 1 @@ -17027,12 +14934,6 @@ /obj/effect/turf_decal/siding/yellow, /turf/open/floor/wood/tile, /area/station/command/bridge) -"gjT" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/mix_output{ - dir = 1 - }, -/turf/open/floor/engine/vacuum, -/area/station/engineering/atmos) "gkq" = ( /obj/structure/transport/linear/tram, /obj/effect/turf_decal/stripes/white/corner, @@ -17060,18 +14961,15 @@ /obj/structure/flora/bush/flowers_pp/style_random, /turf/open/floor/grass, /area/station/medical/virology) -"gkN" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/tile/neutral{ +"gkW" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, -/obj/machinery/camera/autoname/directional/west, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/iron/edge{ + dir = 8 + }, +/area/station/engineering/main) "glb" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/brown/full, @@ -17080,18 +14978,6 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/smooth_large, /area/station/service/bar) -"gli" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "glv" = ( /obj/structure/reagent_dispensers/beerkeg, /obj/structure/sign/picture_frame/portrait/bar{ @@ -17100,17 +14986,20 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/stone, /area/station/service/bar/backroom) -"glz" = ( -/obj/structure/disposalpipe/segment, +"glJ" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/turf_decal/siding/wideplating, +/obj/structure/closet/firecloset, +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/tile/neutral, +/obj/item/radio/off{ + pixel_x = 1; + pixel_y = 3 + }, /turf/open/floor/iron, -/area/station/hallway/primary/fore) -"glB" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/turf/open/floor/iron, -/area/station/engineering/atmos/storage/gas) +/area/station/engineering/atmos) "glM" = ( /obj/effect/turf_decal/trimline/neutral/line, /obj/effect/turf_decal/trimline/neutral/line{ @@ -17118,6 +15007,16 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"glO" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/item/kirbyplants/random, +/obj/machinery/light/small/directional/west, +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/hallway) "glP" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/holopad, @@ -17136,15 +15035,6 @@ /obj/item/wrench/medical, /turf/open/floor/iron/dark, /area/station/medical/medbay/aft) -"gmi" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ - dir = 8 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "gmm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -17163,44 +15053,9 @@ }, /turf/open/floor/iron/white/small, /area/station/medical/cryo) -"gmp" = ( -/obj/machinery/pdapainter/engineering, -/obj/machinery/firealarm/directional/south{ - pixel_x = -11 - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) -"gnf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/button/door/directional/west{ - id = "Secure Storage"; - name = "Engineering Secure Storage"; - pixel_y = -24; - req_access = list("engine_equip") - }, -/obj/machinery/button/door/directional/west{ - id = "Engineering"; - name = "Engineering Lockdown"; - pixel_x = -6; - pixel_y = -24; - req_access = list("engineering") - }, -/obj/machinery/button/door/directional/west{ - id = "atmos"; - name = "Atmospherics Lockdown"; - pixel_x = 6; - pixel_y = -24; - req_access = list("atmospherics") - }, -/obj/machinery/button/door/directional/south{ - id = "ceprivacy"; - name = "Privacy Shutters Control"; - pixel_x = 24 - }, -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/landmark/start/chief_engineer, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) +"gnd" = ( +/turf/closed/wall, +/area/station/engineering/atmos/office) "gni" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/siding/thinplating_new/light{ @@ -17210,32 +15065,24 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/small, /area/station/commons/fitness/locker_room) -"gnw" = ( -/obj/effect/turf_decal/siding/wideplating_new/light{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light_switch/directional/south, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "gnA" = ( /obj/structure/cable, /obj/machinery/light/small/directional/north, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) -"gnL" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/structure/closet/firecloset, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "gnQ" = ( /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden, /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/medical/cryo) +"gnS" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 5 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "gnY" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -17246,11 +15093,13 @@ }, /turf/open/floor/light/colour_cycle/dancefloor_b, /area/station/maintenance/starboard/central) -"gof" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/keycard_auth/directional/south, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) +"gom" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 6 + }, +/obj/machinery/field/generator, +/turf/open/floor/iron/dark/small, +/area/station/engineering/storage_shared) "gow" = ( /turf/open/floor/tram, /area/station/maintenance/department/medical/central) @@ -17297,14 +15146,6 @@ }, /turf/open/floor/plating, /area/station/construction/mining/aux_base) -"gph" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/newscaster/directional/east, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) "gpu" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17333,16 +15174,6 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/dark/small, /area/station/medical/virology) -"gpS" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/airlock/engineering{ - name = "Engine Room" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/textured_half, -/area/station/engineering/atmos) "gqb" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -17366,12 +15197,11 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"gqw" = ( -/obj/effect/turf_decal/siding/red{ - dir = 10 - }, -/turf/open/floor/engine/n2, -/area/station/engineering/atmos) +"gqt" = ( +/obj/machinery/pipedispenser, +/obj/structure/spider/stickyweb, +/turf/open/floor/iron/dark, +/area/station/maintenance/department/engine/atmos) "gqK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/mapping_helpers/broken_floor, @@ -17387,6 +15217,14 @@ /obj/machinery/atmospherics/components/unary/outlet_injector/on, /turf/open/floor/iron/dark/smooth_large, /area/station/security/execution/education) +"gro" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Pure to South Ports" + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "grx" = ( /obj/machinery/vending/wardrobe/medi_wardrobe, /obj/structure/window/reinforced/spawner/directional/west, @@ -17400,34 +15238,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white, /area/station/medical/paramedic) -"grM" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/airlock/engineering{ - name = "Engineering Corridor" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/structure/cable, +"grF" = ( +/obj/structure/railing, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/textured_half, -/area/station/engineering/atmos) -"grW" = ( -/obj/effect/turf_decal/siding/red{ - dir = 6 - }, -/obj/machinery/camera/emp_proof{ - c_tag = "Engineering - Atmospherics CO2 Chamber"; - dir = 5; - network = list("ss13","engineering") - }, -/turf/open/floor/engine/n2, -/area/station/engineering/atmos) -"gsf" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 10 - }, -/turf/open/floor/engine/o2, -/area/station/engineering/atmos) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) "gsh" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -17447,6 +15263,9 @@ /obj/effect/landmark/start/scientist, /turf/open/floor/iron/white/small, /area/station/science/lab) +"gsY" = ( +/turf/open/floor/iron/smooth, +/area/station/engineering/break_room) "gtl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -17472,17 +15291,15 @@ /obj/machinery/camera/directional/east, /turf/open/floor/iron/textured_large, /area/station/hallway/primary/central/fore) -"gtG" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 6 +"gtu" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 }, -/obj/machinery/camera/emp_proof{ - c_tag = "Engineering - Atmospherics CO2 Chamber"; - dir = 5; - network = list("ss13","engineering") - }, -/turf/open/floor/engine/o2, -/area/station/engineering/atmos) +/obj/structure/chair/stool/directional/east, +/obj/effect/landmark/start/depsec/engineering, +/turf/open/floor/iron/smooth, +/area/station/security/checkpoint/engineering) "gtJ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -17492,29 +15309,13 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/station/medical/medbay/central) -"gtT" = ( -/obj/effect/turf_decal/siding/white{ +"gtU" = ( +/obj/effect/turf_decal/stripes/white/line{ dir = 10 }, -/turf/open/floor/engine/air, -/area/station/engineering/atmos) -"gtW" = ( -/obj/effect/turf_decal/siding/white{ - dir = 6 - }, -/obj/machinery/camera/emp_proof{ - c_tag = "Engineering - Atmospherics CO2 Chamber"; - dir = 5; - network = list("ss13","engineering") - }, -/turf/open/floor/engine/air, -/area/station/engineering/atmos) -"gtZ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/maintenance/disposal/incinerator) +/obj/machinery/power/port_gen/pacman, +/turf/open/floor/iron/dark/small, +/area/station/engineering/storage_shared) "gun" = ( /obj/machinery/firealarm/directional/east, /obj/effect/turf_decal/tile/red{ @@ -17522,10 +15323,6 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/exit/departure_lounge) -"gux" = ( -/obj/machinery/air_sensor/mix_tank, -/turf/open/floor/engine/vacuum, -/area/station/engineering/atmos) "guz" = ( /obj/structure/cable, /obj/item/kirbyplants/random, @@ -17548,35 +15345,12 @@ }, /turf/open/floor/wood/parquet, /area/station/command/heads_quarters/cmo) -"guI" = ( -/turf/open/floor/engine, -/area/station/maintenance/disposal/incinerator) "guR" = ( /obj/machinery/modular_computer/preset/curator, /obj/effect/mapping_helpers/broken_floor, /obj/machinery/firealarm/directional/north, /turf/open/floor/wood/parquet, /area/station/service/library) -"guT" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/camera/emp_proof{ - c_tag = "Engineering - Atmospherics CO2 Chamber"; - dir = 5; - network = list("ss13","engineering") - }, -/turf/open/floor/engine/vacuum, -/area/station/engineering/atmos) -"guV" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/poddoor/preopen{ - id = "Engineering"; - name = "Engineering Security Doors" - }, -/obj/effect/turf_decal/delivery, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "guY" = ( /turf/closed/wall, /area/station/service/chapel/storage) @@ -17591,16 +15365,16 @@ }, /turf/open/floor/iron/textured_half, /area/station/security/brig/entrance) -"gvp" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/poddoor/preopen{ - id = "Engineering"; - name = "Engineering Security Doors" +"gvB" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) +/obj/machinery/computer/turbine_computer{ + dir = 4 + }, +/obj/machinery/light_switch/directional/south, +/turf/open/floor/iron/smooth, +/area/station/maintenance/disposal/incinerator) "gvQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -17618,24 +15392,19 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/security/brig/entrance) -"gvX" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/poddoor/preopen{ - id = "Engineering"; - name = "Engineering Security Doors" - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "gvY" = ( /turf/closed/wall/r_wall, /area/space) -"gwf" = ( -/obj/effect/spawner/random/engineering/tracking_beacon, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +"gwl" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/storage/gas) "gwo" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ @@ -17646,17 +15415,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white/small, /area/station/science/ordnance/storage) -"gwD" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "gwQ" = ( /obj/effect/decal/cleanable/dirt, /obj/item/radio/intercom/directional/east, @@ -17771,6 +15529,11 @@ }, /turf/open/misc/sandy_dirt, /area/station/security/tram) +"gxK" = ( +/obj/structure/closet/secure_closet/engineering_personal, +/obj/item/clothing/suit/hooded/wintercoat/engineering, +/turf/open/floor/catwalk_floor, +/area/station/engineering/supermatter/room) "gxL" = ( /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, @@ -17833,6 +15596,17 @@ /obj/structure/chair/stool/directional/west, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"gyt" = ( +/obj/machinery/door/airlock/external/glass{ + name = "ATMOS PROJECT Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "gyE" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -17862,6 +15636,13 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/grass, /area/station/service/hydroponics) +"gzs" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 5 + }, +/obj/machinery/field/generator, +/turf/open/floor/iron/dark/small, +/area/station/engineering/storage_shared) "gzu" = ( /obj/effect/turf_decal/tile/dark_red{ dir = 1 @@ -17896,18 +15677,19 @@ "gzF" = ( /turf/closed/wall/r_wall, /area/station/security/prison/rec) +"gzL" = ( +/obj/structure/window/reinforced/plasma/spawner/directional/west, +/obj/effect/turf_decal/stripes/white/full, +/obj/machinery/atmospherics/components/binary/valve{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "gzY" = ( /obj/structure/cable, /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/space/nearstation) -"gAi" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/status_display/ai/directional/east, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "gAn" = ( /obj/structure/railing/corner{ dir = 8 @@ -17936,6 +15718,16 @@ }, /turf/open/floor/iron, /area/station/security/warden) +"gBe" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 10 + }, +/obj/structure/railing/corner/end{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) "gBh" = ( /turf/closed/mineral/random/stationside, /area/station/maintenance/department/engine/atmos) @@ -17984,13 +15776,28 @@ /obj/machinery/computer/communications, /turf/open/floor/glass/reinforced, /area/station/command/bridge) -"gBD" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) +"gBA" = ( +/obj/machinery/door/airlock/engineering{ + name = "Engine Airlock" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "engine_airlock_3" + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/break_room) +"gBG" = ( +/obj/effect/turf_decal/siding/wideplating, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/office) +"gBT" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/secure_safe/caps_spare, +/obj/structure/table/glass, +/turf/open/floor/glass/reinforced, +/area/station/command/bridge) "gCe" = ( /obj/structure/cable, /obj/machinery/portable_atmospherics/canister/oxygen, @@ -18014,6 +15821,10 @@ }, /turf/open/floor/catwalk_floor/iron_dark, /area/station/tcommsat/server) +"gCp" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "gCq" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor/iron_dark, @@ -18036,20 +15847,34 @@ /obj/machinery/light/floor, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) -"gCJ" = ( -/obj/structure/table/reinforced/titaniumglass, +"gCP" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"gCR" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /obj/effect/decal/cleanable/dirt, -/obj/item/stack/sheet/plasteel/fifty, -/turf/open/floor/iron/textured_large, -/area/station/engineering/break_room) -"gCS" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "gCT" = ( /turf/closed/wall, /area/station/hallway/secondary/command) +"gDe" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/obj/structure/railing, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/iron/stairs/old{ + dir = 8 + }, +/area/station/engineering/supermatter/room) "gDk" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -18067,6 +15892,19 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) +"gDq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 9 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/smooth_edge{ + dir = 4 + }, +/area/station/engineering/supermatter/room) "gDs" = ( /obj/structure/lattice, /obj/structure/window/spawner/directional/south, @@ -18091,13 +15929,6 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"gDL" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 10 - }, -/obj/machinery/portable_atmospherics/canister/plasma, -/turf/open/floor/plating, -/area/station/engineering/atmos/storage/gas) "gEc" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, @@ -18107,6 +15938,23 @@ /obj/machinery/digital_clock/directional/north, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"gEy" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/structure/railing/corner, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer5{ + dir = 10 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "gEH" = ( /turf/closed/wall/r_wall, /area/station/security/evidence) @@ -18164,6 +16012,19 @@ /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"gFF" = ( +/obj/machinery/computer/apc_control{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/mineral/titanium, +/area/station/command/heads_quarters/ce) "gFH" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -18294,6 +16155,14 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/command/gateway) +"gIr" = ( +/obj/machinery/door/poddoor/preopen{ + id = "atmos"; + name = "Atmospherics Blast Door" + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plating/elevatorshaft, +/area/station/engineering/atmos) "gIs" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -18311,6 +16180,23 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"gIz" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 1 + }, +/obj/machinery/door/airlock/external/glass{ + name = "North Tanks Airlock" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/engineering/atmos/space_catwalk) "gIF" = ( /obj/effect/turf_decal/siding/green, /turf/open/floor/iron/dark/small, @@ -18335,6 +16221,20 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/cafeteria, /area/station/science/circuits) +"gIM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/green/visible{ + dir = 8 + }, +/obj/machinery/meter, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "gIS" = ( /obj/structure/table/wood, /obj/item/reagent_containers/cup/glass/bottle/holywater, @@ -18361,14 +16261,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/small, /area/station/ai_monitored/security/armory) -"gJe" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/engineering/atmos/storage/gas) "gJo" = ( /turf/open/floor/iron/stairs{ dir = 8 @@ -18380,24 +16272,23 @@ }, /turf/open/floor/iron/freezer, /area/station/command/corporate_suite) +"gJs" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/turf_decal/siding/wideplating, +/obj/structure/closet/secure_closet/atmospherics, +/obj/item/clothing/head/utility/welding{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron, +/area/station/engineering/atmos) "gJu" = ( /obj/structure/closet, /obj/effect/mapping_helpers/broken_floor, /obj/machinery/light/small/directional/north, /turf/open/floor/carpet/royalblue, /area/station/command/corporate_suite) -"gJA" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) -"gJN" = ( -/obj/effect/turf_decal/stripes/box, -/obj/machinery/camera/directional/north{ - c_tag = "Atmospherics - Turbine Entrance" - }, -/obj/machinery/pipedispenser, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "gJQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -18443,6 +16334,10 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"gKF" = ( +/obj/effect/spawner/random/structure/grille, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "gKK" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -18489,25 +16384,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/lockers) -"gLx" = ( -/obj/structure/table/reinforced/titaniumglass, -/obj/item/clothing/suit/hazardvest{ - pixel_y = 8 - }, -/obj/item/clothing/suit/hazardvest{ - pixel_y = 5 - }, -/obj/item/clothing/suit/hazardvest{ - pixel_y = 2 - }, -/obj/item/tank/internals/emergency_oxygen/engi{ - pixel_y = 7 - }, -/obj/item/tank/internals/emergency_oxygen/engi{ - pixel_y = 4 - }, -/turf/open/floor/iron/small, -/area/station/engineering/supermatter/room) "gLy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -18520,20 +16396,6 @@ /obj/effect/turf_decal/siding/wideplating/dark, /turf/open/floor/iron, /area/station/security) -"gLA" = ( -/obj/machinery/door/window/left/directional/north{ - name = "Engineering Deliveries"; - req_access = list("engineering") - }, -/turf/open/floor/iron, -/area/station/engineering/break_room) -"gLK" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/recharge_station, -/turf/open/floor/plating, -/area/station/engineering/break_room) "gLM" = ( /obj/structure/table/glass, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -18621,31 +16483,18 @@ }, /turf/open/floor/catwalk_floor/iron, /area/station/science/xenobiology) -"gNh" = ( -/obj/structure/table/reinforced/titaniumglass, +"gNb" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/stack/sheet/iron/fifty{ - pixel_x = 5; - pixel_y = 17 +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"gNt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/obj/item/t_scanner{ - pixel_x = -6; - pixel_y = 18 - }, -/obj/item/grenade/chem_grenade/smart_metal_foam{ - pixel_x = -4; - pixel_y = 6 - }, -/obj/item/grenade/chem_grenade/smart_metal_foam{ - pixel_y = 4 - }, -/obj/item/grenade/chem_grenade/smart_metal_foam{ - pixel_x = 4; - pixel_y = 2 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/turf/open/floor/iron, -/area/station/engineering/atmos/storage/gas) +/turf/open/floor/iron/small, +/area/station/engineering/break_room) "gNC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -18659,6 +16508,22 @@ }, /turf/open/floor/plating, /area/station/cargo/miningoffice) +"gNI" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/engineering/atmos) +"gNS" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/atmos/space_catwalk) "gNU" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -18720,6 +16585,19 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/escape) +"gPb" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood, +/obj/structure/sign/poster/official/random/directional/east, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/small, +/area/station/security/checkpoint/engineering) +"gPf" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/engine, +/area/station/engineering/atmos) "gPo" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt, @@ -18761,13 +16639,6 @@ /obj/structure/sign/warning/no_smoking/circle/directional/north, /turf/open/floor/iron/smooth, /area/station/commons/storage/tools) -"gQs" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine/atmos) "gQG" = ( /obj/structure/window/spawner/directional/east, /obj/structure/closet/crate, @@ -18784,6 +16655,23 @@ }, /turf/open/floor/iron/smooth, /area/station/commons/storage/tools) +"gQI" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/transit_tube/horizontal{ + dir = 2 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"gQK" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron/small, +/area/station/engineering/supermatter/room) "gQR" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/duct, @@ -18799,15 +16687,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron, /area/station/commons/storage/tools) -"gRc" = ( -/obj/structure/cable, -/obj/machinery/door/airlock/engineering/glass{ - name = "Power Monitoring" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/engineering/supermatter/room) "gRe" = ( /obj/structure/chair/sofa/bench/right{ dir = 4 @@ -18873,6 +16752,20 @@ /obj/structure/broken_flooring/singular/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"gSh" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 + }, +/obj/structure/closet/secure_closet/atmospherics, +/obj/item/clothing/head/utility/welding{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/engineering/atmos) "gSi" = ( /obj/structure/chair{ dir = 4 @@ -18888,6 +16781,19 @@ /obj/effect/gibspawner/human, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"gSr" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "gSs" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 10 @@ -18917,13 +16823,6 @@ }, /turf/open/floor/carpet/executive, /area/station/command/meeting_room) -"gSV" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) "gSX" = ( /obj/machinery/computer/piratepad_control/civilian{ dir = 1 @@ -19021,15 +16920,6 @@ }, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"gUc" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/airalarm/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "gUe" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -19042,15 +16932,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"gUl" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 10 - }, -/obj/structure/sink/directional/south, -/obj/structure/mirror/directional/north, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/smooth_half, -/area/station/engineering/atmos) "gUm" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -19075,6 +16956,16 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"gUo" = ( +/obj/structure/table/greyscale, +/obj/item/clothing/gloves/color/yellow, +/obj/item/wrench, +/obj/item/multitool{ + pixel_x = 4; + pixel_y = 5 + }, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "gUx" = ( /obj/effect/decal/cleanable/dirt, /obj/item/chair/stool/bamboo{ @@ -19096,26 +16987,6 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron/white, /area/station/security/medical) -"gUS" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/structure/window/spawner/directional/south, -/obj/effect/turf_decal/stripes/full, -/obj/structure/disposaloutlet{ - dir = 8; - name = "Cargo Deliveries" - }, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) -"gUT" = ( -/obj/machinery/newscaster/directional/north, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/break_room) "gUV" = ( /obj/structure/cable, /obj/structure/chair/stool/directional/south{ @@ -19162,10 +17033,6 @@ /obj/effect/spawner/random/structure/grille, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"gVV" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/engineering/break_room) "gVW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/light/small/directional/east, @@ -19184,6 +17051,19 @@ }, /turf/open/floor/iron/dark/textured_half, /area/station/command/corporate_suite) +"gWl" = ( +/obj/machinery/door/airlock/engineering{ + name = "Engine Airlock" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/structure/cable, +/obj/effect/landmark/navigate_destination, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "engine_airlock_2" + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/break_room) "gWB" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -19192,6 +17072,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/security/processing) +"gWJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/item/wrench, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "gWN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -19208,6 +17095,12 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating/rust, /area/station/maintenance/fore/lesser) +"gXn" = ( +/obj/structure/closet/radiation, +/obj/item/clothing/glasses/meson, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/engineering/break_room) "gXq" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -19419,6 +17312,29 @@ }, /turf/open/floor/iron, /area/station/commons/storage/tools) +"hbG" = ( +/obj/machinery/light_switch/directional/west, +/obj/machinery/camera/autoname/directional/north, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 1 + }, +/obj/structure/table, +/obj/machinery/computer/records/security/laptop{ + pixel_x = 13; + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/glass/mug/tea{ + pixel_y = 1; + pixel_x = -3 + }, +/obj/machinery/requests_console/directional/north{ + department = "Security"; + name = "Security Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/information, +/obj/effect/mapping_helpers/requests_console/assistance, +/turf/open/floor/iron/smooth, +/area/station/security/checkpoint/engineering) "hbI" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -19546,16 +17462,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/smooth, /area/station/command/bridge) -"hdk" = ( -/obj/structure/closet/radiation, -/obj/item/clothing/glasses/meson, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating, -/area/station/engineering/main) "hdo" = ( /obj/machinery/door/airlock{ name = "Maintenance" @@ -19827,6 +17733,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"hgv" = ( +/obj/effect/turf_decal/delivery/white, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "hgE" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral, @@ -19845,6 +17757,15 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"hgV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "hgX" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, @@ -19906,19 +17827,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"hhR" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red, -/obj/machinery/atmospherics/components/binary/pump{ - name = "N2O Outlet Pump" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/engineering/atmos) "hhZ" = ( /obj/structure/railing{ dir = 8 @@ -19944,6 +17852,13 @@ }, /turf/open/floor/iron/smooth, /area/station/security/evidence) +"hir" = ( +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/smart/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/engineering/atmos/office) "his" = ( /obj/structure/table/reinforced/plastitaniumglass, /obj/item/mod/module/plasma_stabilizer{ @@ -19976,17 +17891,21 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/dark/small, /area/station/security/brig) -"hju" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 +"hjj" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/transit_tube/curved, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) +"hjk" = ( +/obj/structure/railing{ + dir = 4 }, -/obj/effect/turf_decal/tile/red{ - dir = 8 +/obj/machinery/firealarm/directional/west, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/stairs{ + dir = 1 }, -/turf/open/floor/iron/dark/side{ - dir = 5 - }, -/area/station/engineering/atmos) +/area/station/engineering/lobby) "hjx" = ( /obj/structure/bed/medical/emergency, /obj/effect/turf_decal/stripes/line{ @@ -20003,15 +17922,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/small, /area/station/medical/morgue) -"hjT" = ( -/obj/machinery/atmospherics/pipe/smart/simple/pink/visible, -/obj/effect/decal/cleanable/dirt, -/obj/item/clothing/head/cone{ - pixel_x = 6; - pixel_y = 17 +"hjQ" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +/turf/open/floor/iron, +/area/station/engineering/lobby) "hkk" = ( /obj/machinery/computer/records/medical{ dir = 4 @@ -20073,6 +17990,13 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"hkG" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "hkL" = ( /obj/structure/cable, /turf/open/floor/wood/large, @@ -20088,6 +18012,13 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron/dark, /area/station/science/lab) +"hkT" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 10 + }, +/obj/structure/sink/directional/east, +/turf/open/floor/iron/dark/small, +/area/station/engineering/break_room) "hkW" = ( /obj/structure/closet/crate/goldcrate, /obj/effect/turf_decal/bot_white/right, @@ -20100,31 +18031,12 @@ /obj/structure/broken_flooring/singular/directional/east, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"hln" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/structure/table, -/obj/machinery/microwave/engineering/cell_included, -/turf/open/floor/iron, -/area/station/maintenance/department/engine/atmos) "hlo" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/camera/autoname/directional/north, /obj/machinery/light/cold/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"hlw" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/obj/machinery/meter, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "hlJ" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 4 @@ -20136,6 +18048,19 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, /area/station/science/ordnance/storage) +"hlM" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/item/kirbyplants/random, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron/smooth_corner{ + dir = 8 + }, +/area/station/engineering/supermatter/room) "hmb" = ( /obj/structure/disposalpipe/trunk{ dir = 4 @@ -20190,6 +18115,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white/small, /area/station/science/ordnance/storage) +"hmB" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) "hmQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/table, @@ -20251,6 +18182,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/fore/greater) +"hnG" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/heater/on{ + dir = 8; + initialize_directions = 8 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "hnO" = ( /obj/structure/disposalpipe/segment, /obj/structure/disposalpipe/segment{ @@ -20269,6 +18211,10 @@ /obj/structure/tank_holder/anesthetic, /turf/open/floor/iron, /area/station/science/robotics/augments) +"hnS" = ( +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/engineering/break_room) "hnV" = ( /obj/effect/spawner/structure/window, /obj/machinery/door/poddoor/shutters/preopen{ @@ -20300,29 +18246,20 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/science/ordnance/storage) -"hoo" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "hop" = ( /turf/closed/wall, /area/station/service/chapel/funeral) +"hox" = ( +/obj/structure/closet/radiation, +/obj/item/clothing/glasses/meson, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/engineering/main) "hoG" = ( /obj/structure/cable, /obj/effect/landmark/start/scientist, /turf/open/floor/iron, /area/station/science/research) -"hoL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/atmospheric_technician, -/obj/structure/cable, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "hoN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20345,13 +18282,29 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/cargo/miningfoundry) -"hpc" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"hpe" = ( +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/iron, +/area/station/maintenance/department/engine/atmos) +"hpi" = ( +/obj/machinery/door/airlock/public/glass/incinerator/atmos_exterior, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/disposal/incinerator) +"hpj" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 5 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/holopad, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "hpl" = ( /obj/structure/water_source/puddle, /obj/structure/flora/bush/large/style_random{ @@ -20381,6 +18334,15 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/service/chapel/funeral) +"hpV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/layer_manifold/yellow/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "hpW" = ( /obj/effect/turf_decal/siding/wood{ dir = 6 @@ -20399,8 +18361,10 @@ dir = 8 }, /area/station/science/lobby) -"hqB" = ( -/obj/effect/decal/cleanable/dirt, +"hqm" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 6 + }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) "hqH" = ( @@ -20428,6 +18392,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_command) +"hrx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "hrz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20498,6 +18469,23 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/small, /area/station/hallway/primary/fore) +"hss" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/small, +/area/station/engineering/break_room) +"hsy" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/wood, +/area/station/engineering/atmos/office) "hsC" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -20515,6 +18503,19 @@ /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/plating, /area/station/cargo/miningoffice) +"hsL" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer4{ + dir = 6 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "hsO" = ( /obj/structure/cable, /obj/effect/spawner/structure/window, @@ -20560,6 +18561,20 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/processing) +"htQ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, +/obj/effect/turf_decal/trimline/yellow/arrow_ccw{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/smooth_edge{ + dir = 8 + }, +/area/station/engineering/supermatter/room) "htV" = ( /obj/structure/disposalpipe/sorting/mail{ dir = 1 @@ -20591,14 +18606,6 @@ /obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron/smooth, /area/station/commons/storage/tools) -"hui" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "hur" = ( /obj/structure/table/glass, /obj/item/storage/briefcase/secure, @@ -20654,19 +18661,6 @@ /obj/effect/mapping_helpers/airlock/access/all/command/general, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/ai_monitored/turret_protected/aisat/maint) -"hvh" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/chair{ - pixel_y = -2 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "hvk" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -20676,6 +18670,12 @@ /obj/machinery/light/cold/directional/south, /turf/open/floor/iron, /area/station/commons/storage/tools) +"hvo" = ( +/obj/structure/sign/warning/hot_temp/directional/east, +/turf/open/floor/iron/stairs/right{ + dir = 1 + }, +/area/station/engineering/atmos) "hvx" = ( /obj/structure/flora/rock/pile/jungle/style_random, /obj/machinery/light/small/directional/north, @@ -20697,29 +18697,20 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"hvJ" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "hvM" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"hvT" = ( +/obj/structure/railing, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron/small, +/area/station/engineering/lobby) "hvV" = ( /obj/structure/table, /obj/item/book/manual/wiki/security_space_law{ @@ -20737,6 +18728,12 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/security/tram) +"hvZ" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 5 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "hwe" = ( /obj/machinery/hydroponics/constructable, /obj/effect/turf_decal/tile/blue/half, @@ -20781,6 +18778,10 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/small, /area/station/ai_monitored/command/storage/eva) +"hwr" = ( +/obj/effect/spawner/random/engineering/atmospherics_portable, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "hwx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -20802,6 +18803,12 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) +"hwG" = ( +/obj/machinery/door/window/left/directional/south, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, +/obj/effect/turf_decal/stripes/white/full, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "hwJ" = ( /turf/closed/wall/rust, /area/space/nearstation) @@ -20841,6 +18848,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"hxG" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/smooth_edge{ + dir = 8 + }, +/area/station/engineering/supermatter/room) "hxJ" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -20857,6 +18876,16 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"hxY" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 9 + }, +/obj/effect/turf_decal/tile/yellow/diagonal_centre, +/obj/machinery/light/small/directional/west, +/obj/structure/cable, +/obj/machinery/status_display/evac/directional/west, +/turf/open/floor/iron/diagonal, +/area/station/engineering/lobby) "hyb" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/north, @@ -20913,10 +18942,6 @@ /obj/machinery/light/dim/directional/south, /turf/open/floor/iron/dark/side, /area/station/hallway/secondary/construction) -"hyD" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/small, -/area/station/maintenance/department/engine) "hyE" = ( /turf/closed/wall, /area/station/maintenance/starboard/aft) @@ -20941,13 +18966,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) -"hzi" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "hzk" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood/parquet, @@ -20977,21 +18995,6 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/wood/parquet, /area/station/service/library) -"hAc" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 2 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/mapping_helpers/mail_sorting/engineering/general, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/landmark/navigate_destination/engineering, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "hAd" = ( /obj/effect/turf_decal/tile/green{ dir = 8 @@ -21034,6 +19037,12 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) +"hAN" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/maintenance/department/engine/atmos) "hAQ" = ( /obj/structure/table, /obj/effect/mapping_helpers/broken_floor, @@ -21079,25 +19088,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"hBv" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "hop"; - name = "Privacy Shutters" - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/brigdoor/right/directional/east{ - name = "Head of Personnel's Desk"; - req_access = list("hop") - }, -/obj/machinery/door/window/left/directional/west{ - name = "Reception Window" - }, -/turf/open/floor/iron/textured_large, -/area/station/command/heads_quarters/hop) "hBA" = ( /obj/structure/cable, /obj/effect/spawner/structure/window, @@ -21147,6 +19137,12 @@ /obj/structure/filingcabinet/chestdrawer, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) +"hCq" = ( +/obj/effect/decal/cleanable/glass/titanium, +/obj/structure/closet/crate, +/obj/item/reagent_containers/cup/bottle/welding_fuel, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "hCr" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/command/storage/eva) @@ -21182,14 +19178,25 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"hDn" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"hDg" = ( +/obj/structure/chair/stool/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable, /obj/machinery/light/small/directional/north, -/obj/structure/table, -/obj/effect/spawner/random/food_or_drink/donkpockets, -/turf/open/floor/iron, -/area/station/maintenance/department/engine/atmos) +/turf/open/floor/iron/small, +/area/station/maintenance/department/electrical) +"hDh" = ( +/obj/effect/turf_decal/tile/yellow/diagonal_centre, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/yellow/corner, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/diagonal, +/area/station/engineering/lobby) "hDt" = ( /obj/structure/toilet{ pixel_y = 8 @@ -21221,36 +19228,6 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/port) -"hDX" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/yellow/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron/smooth_edge{ - dir = 1 - }, -/area/station/maintenance/disposal/incinerator) -"hDZ" = ( -/obj/machinery/door/window/left/directional/north{ - name = "Equipment Storage"; - pixel_x = -1; - req_access = list("eva") - }, -/obj/structure/rack, -/obj/item/clothing/shoes/magboots, -/obj/item/clothing/shoes/magboots{ - pixel_x = 4; - pixel_y = -3 - }, -/obj/item/tank/jetpack/carbondioxide, -/obj/item/tank/jetpack/carbondioxide{ - pixel_x = -4; - pixel_y = 1 - }, -/obj/machinery/camera/directional/south, -/turf/open/floor/iron/large, -/area/station/ai_monitored/command/storage/eva) "hEi" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -21262,6 +19239,14 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, /area/station/cargo/sorting) +"hEl" = ( +/obj/structure/table/rolling, +/obj/effect/turf_decal/siding/yellow, +/obj/item/pizzabox{ + pixel_y = 14 + }, +/turf/open/floor/wood, +/area/station/engineering/break_room) "hEm" = ( /obj/machinery/suit_storage_unit/standard_unit, /obj/effect/turf_decal/stripes/line{ @@ -21269,6 +19254,23 @@ }, /turf/open/floor/plating, /area/station/ai_monitored/command/storage/eva) +"hEt" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 8 + }, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth, +/area/station/engineering/engine_smes) "hED" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -21276,11 +19278,34 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"hFb" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"hFp" = ( +/obj/structure/chair/sofa/bench/right{ + dir = 8 + }, +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "hFx" = ( /turf/open/floor/iron/chapel{ dir = 1 }, /area/station/maintenance/starboard/greater) +"hFA" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 1 + }, +/turf/open/floor/iron/corner, +/area/station/engineering/main) "hFC" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -21294,11 +19319,29 @@ /obj/effect/spawner/random/structure/crate_abandoned, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) +"hFK" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/computer/atmos_control/mix_tank{ + dir = 8 + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "hFO" = ( /obj/structure/broken_flooring/corner/directional/south, /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_command) +"hFR" = ( +/obj/effect/turf_decal/siding/red{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/nitrogen_output{ + dir = 1 + }, +/turf/open/floor/engine/n2, +/area/station/engineering/atmos/space_catwalk) "hGb" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance/storage) @@ -21306,6 +19349,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/rust, /area/station/ai_monitored/turret_protected/aisat/maint) +"hGp" = ( +/obj/structure/railing, +/obj/effect/turf_decal/siding/wideplating, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/engineering/main) "hGt" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -21320,24 +19371,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/stairs, /area/station/medical/medbay/central) -"hHf" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = -2; - pixel_y = 6 - }, -/turf/open/floor/iron, -/area/station/science/lobby) -"hHy" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/neutral/end{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "hHE" = ( /obj/effect/turf_decal/bot_white, /turf/open/floor/engine, @@ -21356,6 +19389,14 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"hHV" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) "hIe" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -21367,20 +19408,6 @@ /obj/effect/landmark/start/cargo_technician, /turf/open/floor/iron/dark, /area/station/cargo/office) -"hIq" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/table/reinforced/titaniumglass, -/obj/effect/landmark/event_spawn, -/obj/item/reagent_containers/cup/glass/mug/coco{ - pixel_x = 5; - pixel_y = 14 - }, -/turf/open/floor/iron/textured_large, -/area/station/engineering/break_room) "hIE" = ( /obj/structure/table/glass, /obj/machinery/light/small/directional/east, @@ -21395,14 +19422,13 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, /area/station/security/tram) -"hIR" = ( -/obj/structure/cable, -/obj/machinery/power/turbine/core_rotor{ - dir = 1; - mapping_id = "main_turbine" +"hIU" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 10 }, -/turf/open/floor/engine, -/area/station/maintenance/disposal/incinerator) +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/nitrous_output, +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos/space_catwalk) "hJd" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -21411,17 +19437,13 @@ }, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"hJo" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/structure/table/reinforced/titaniumglass, -/obj/item/stack/sheet/rglass{ - pixel_y = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/break_room) "hJp" = ( /turf/closed/wall/r_wall/rust, /area/station/ai_monitored/turret_protected/ai) +"hJs" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "hJC" = ( /obj/structure/closet/crate/hydroponics, /obj/item/paper/guides/jobs/hydroponics, @@ -21503,6 +19525,9 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) +"hKX" = ( +/turf/closed/mineral/random/stationside, +/area/station/hallway/primary/fore) "hLa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -21555,6 +19580,11 @@ dir = 8 }, /area/station/hallway/secondary/dock) +"hLW" = ( +/obj/structure/railing, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) "hLY" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -21670,6 +19700,14 @@ /obj/structure/flora/bush/flowers_br/style_random, /turf/open/floor/grass, /area/station/service/chapel) +"hNU" = ( +/obj/structure/table/reinforced, +/obj/structure/spider/stickyweb, +/obj/item/mod/module/plasma_stabilizer{ + pixel_y = 11 + }, +/turf/open/floor/plating, +/area/station/engineering/atmospherics_engine) "hNY" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -21727,6 +19765,11 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/port/aft) +"hOX" = ( +/obj/item/chair, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/dark, +/area/station/maintenance/department/engine/atmos) "hPd" = ( /obj/structure/hedge, /obj/effect/turf_decal/tile/brown{ @@ -21828,12 +19871,6 @@ /obj/item/binoculars, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"hRz" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) "hRA" = ( /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{ dir = 4 @@ -21841,6 +19878,20 @@ /obj/machinery/atmospherics/components/binary/pump, /turf/open/floor/engine, /area/station/science/ordnance/burnchamber) +"hRF" = ( +/obj/structure/transit_tube/curved{ + dir = 1 + }, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"hRO" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/department/engine/atmos) "hRX" = ( /obj/structure/flora/bush/large/style_random{ pixel_x = -20; @@ -21854,29 +19905,20 @@ }, /turf/open/misc/sandy_dirt, /area/station/security/tram) -"hSx" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/engineering/main) -"hSA" = ( +"hSG" = ( /obj/effect/turf_decal/stripes/line{ - dir = 8 + dir = 9 }, -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "Waste to Filter" +/obj/structure/table/reinforced/titaniumglass, +/obj/item/stack/cable_coil{ + pixel_x = 9; + pixel_y = -1 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/directional/east{ - c_tag = "Atmospherics - Starboard" +/obj/item/analyzer{ + pixel_y = 9 }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +/turf/open/floor/iron/smooth, +/area/station/maintenance/disposal/incinerator) "hSK" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/white{ @@ -21889,13 +19931,17 @@ dir = 8 }, /area/station/command/corporate_showroom) -"hSM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{ +"hSP" = ( +/obj/effect/turf_decal/siding/yellow{ dir = 1 }, -/obj/machinery/meter, -/turf/open/floor/iron, -/area/station/engineering/atmos) +/obj/effect/turf_decal/tile/yellow/diagonal_centre, +/obj/effect/mapping_helpers/mail_sorting/engineering/general, +/obj/structure/disposalpipe/sorting/mail{ + dir = 8 + }, +/turf/open/floor/iron/diagonal, +/area/station/engineering/lobby) "hTr" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance{ @@ -21906,6 +19952,16 @@ /obj/structure/barricade/wooden/crude, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"hTC" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 1 + }, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) "hTD" = ( /obj/machinery/atmospherics/pipe/smart/simple/general/visible{ dir = 6 @@ -21914,20 +19970,12 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/iron, /area/station/maintenance/port/fore) -"hTR" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) +"hTL" = ( +/obj/effect/turf_decal/sand/plating, +/obj/effect/spawner/random/structure/crate_loot, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "hTW" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/vehicle/ridden/janicart, @@ -21942,6 +19990,11 @@ }, /turf/open/floor/iron/dark/side, /area/station/security/execution/transfer) +"hUh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "hUk" = ( /obj/structure/disposalpipe/segment, /obj/structure/broken_flooring/plating/directional/south, @@ -21986,6 +20039,11 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"hVq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "hVr" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -22014,16 +20072,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"hVO" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Pure to Turbine" - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "hVX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral{ @@ -22043,14 +20091,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/science/genetics) -"hWm" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/box, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron/dark, -/area/station/medical/medbay/central) "hWu" = ( /obj/machinery/door/airlock/medical{ name = "CMO Bedroom" @@ -22082,13 +20122,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"hWY" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ - dir = 8 - }, -/obj/machinery/space_heater, -/turf/open/floor/iron, -/area/station/engineering/atmos) "hXf" = ( /obj/machinery/door/airlock/engineering/glass{ name = "Hull Breach Emergency Storage" @@ -22118,6 +20151,15 @@ "hXt" = ( /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"hXB" = ( +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/monitored/air_output{ + dir = 1 + }, +/turf/open/floor/engine/air, +/area/station/engineering/atmos/space_catwalk) "hXP" = ( /obj/structure/cable, /obj/machinery/power/terminal{ @@ -22126,12 +20168,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/engineering/gravity_generator) -"hXQ" = ( -/obj/structure/chair/stool/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/chief_engineer, -/turf/open/floor/iron, -/area/station/engineering/break_room) "hXU" = ( /turf/closed/wall, /area/station/security/execution/education) @@ -22190,13 +20226,18 @@ dir = 8 }, /area/station/science/lab) -"hYN" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 5 +"hYS" = ( +/obj/effect/turf_decal/tile/yellow/diagonal_centre, +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=20.0-CentralPort-Bar"; + location = "19.0-Engineering-CentralPort" }, -/obj/machinery/portable_atmospherics/canister, -/turf/open/floor/plating, -/area/station/engineering/atmos/storage/gas) +/turf/open/floor/iron/diagonal, +/area/station/engineering/lobby) "hYW" = ( /obj/structure/cable, /obj/structure/disposalpipe/junction/flip{ @@ -22225,6 +20266,16 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/command/meeting_room) +"hZb" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/brown/visible{ + dir = 9 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "hZe" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -22332,6 +20383,11 @@ /obj/machinery/holopad, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) +"iaW" = ( +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/glass/plasma, +/turf/open/floor/engine, +/area/station/engineering/atmos) "ibe" = ( /obj/effect/turf_decal/bot_white, /obj/structure/closet/crate/freezer, @@ -22354,27 +20410,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/medical/medbay/aft) -"ibq" = ( -/obj/structure/table/wood, -/obj/structure/desk_bell{ - pixel_x = 7 - }, -/obj/item/paper_bin{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = -4; - pixel_y = 3 - }, -/obj/machinery/bluespace_vendor/directional/north, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/textured_large, -/area/station/hallway/primary/central/fore) "ibv" = ( /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) +"ibB" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "ibD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/firedoor, @@ -22421,27 +20465,6 @@ }, /turf/open/floor/wood, /area/station/hallway/secondary/entry) -"icS" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/power/terminal, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 4 - }, -/obj/machinery/electrolyzer, -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching the turbine vent."; - dir = 4; - name = "turbine vent monitor"; - network = list("turbine"); - pixel_x = -29 - }, -/turf/open/floor/iron/smooth_corner{ - dir = 4 - }, -/area/station/maintenance/disposal/incinerator) "icT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22455,6 +20478,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) +"icY" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/table/reinforced, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "ide" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22515,6 +20543,11 @@ }, /turf/open/floor/sepia, /area/station/maintenance/aft) +"idH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/small, +/area/station/maintenance/department/engine) "idJ" = ( /obj/structure/disposalpipe/trunk, /obj/machinery/disposal/bin, @@ -22546,21 +20579,11 @@ /obj/machinery/telecomms/message_server/preset, /turf/open/floor/circuit, /area/station/tcommsat/server) -"ieu" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible{ +"ieM" = ( +/obj/effect/turf_decal/stripes/white/line{ dir = 4 }, -/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"iey" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 5 - }, -/turf/closed/wall/mineral/titanium/nodiagonal, +/turf/open/floor/engine, /area/station/engineering/supermatter) "ieY" = ( /obj/structure/disposalpipe/segment, @@ -22595,6 +20618,13 @@ /obj/effect/mapping_helpers/airlock/access/all/command/general, /turf/open/floor/plating, /area/station/maintenance/department/bridge) +"ifN" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "ifU" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -22700,6 +20730,13 @@ "iht" = ( /turf/closed/wall/r_wall, /area/station/command/corporate_dock) +"ihA" = ( +/obj/structure/transit_tube/curved{ + dir = 1 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "ihC" = ( /obj/structure/bodycontainer/morgue{ dir = 1 @@ -22766,6 +20803,13 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/port) +"ijn" = ( +/obj/effect/turf_decal/siding/purple{ + dir = 5 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/engine/plasma, +/area/station/engineering/atmos/space_catwalk) "ijB" = ( /obj/machinery/atmospherics/components/trinary/mixer/flipped{ dir = 8 @@ -22791,6 +20835,15 @@ dir = 1 }, /area/station/hallway/secondary/entry) +"ijN" = ( +/obj/machinery/bluespace_vendor/directional/north, +/obj/machinery/light/small/directional/west, +/obj/machinery/photobooth, +/turf/open/floor/iron/textured_large, +/area/station/hallway/primary/central/fore) +"ijV" = ( +/turf/open/misc/asteroid, +/area/station/maintenance/department/engine) "ijY" = ( /obj/structure/closet/secure_closet/chief_medical, /obj/item/storage/briefcase/secure{ @@ -22806,6 +20859,15 @@ "ikc" = ( /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"ikf" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing, +/turf/open/floor/iron/stairs{ + dir = 4 + }, +/area/station/engineering/atmos) "ikk" = ( /obj/structure/disposalpipe/segment, /obj/effect/mapping_helpers/broken_floor, @@ -22877,6 +20939,16 @@ }, /turf/open/floor/plating, /area/station/cargo/miningoffice) +"ilb" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 5 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "ild" = ( /obj/structure/cable, /obj/structure/disposalpipe/sorting/mail/flip{ @@ -22905,12 +20977,31 @@ dir = 4 }, /area/station/science/research) +"ilz" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/storage_shared) +"ilB" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/camera/directional/east{ + c_tag = "Engineering - Engine Bay North" + }, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "ilD" = ( /obj/effect/turf_decal/siding/thinplating_new/light{ dir = 8 }, /turf/open/floor/iron/smooth_large, /area/station/science/robotics/mechbay) +"ilN" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/turf_decal/stripes/white/line{ + dir = 5 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "ilW" = ( /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, @@ -22954,11 +21045,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"inH" = ( -/obj/structure/chair/stool/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/engineering/break_room) "inR" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -23002,6 +21088,11 @@ /obj/structure/chair/stool/directional/west, /turf/open/floor/iron, /area/station/security/prison/rec) +"iok" = ( +/obj/effect/landmark/atmospheric_sanity/ignore_area, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "ioo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -23015,16 +21106,16 @@ /obj/machinery/holopad, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"ioQ" = ( -/obj/effect/turf_decal/stripes/white/line{ +"ioN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ dir = 1 }, -/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2o{ - dir = 8 - }, -/obj/effect/landmark/start/atmospheric_technician, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "ioR" = ( /obj/structure/disposalpipe/segment, /obj/machinery/airalarm/directional/west, @@ -23041,6 +21132,20 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron, /area/station/security/execution/transfer) +"ioX" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/yellow/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/firealarm/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth_corner{ + dir = 1 + }, +/area/station/engineering/supermatter/room) "ipb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/brown/opposingcorners, @@ -23139,6 +21244,13 @@ dir = 1 }, /area/station/maintenance/port/fore) +"iql" = ( +/obj/machinery/atmospherics/components/binary/pump/off{ + dir = 1; + name = "Air to Public Ports" + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "iqp" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -23152,6 +21264,15 @@ /obj/structure/closet, /turf/open/floor/iron/smooth, /area/station/cargo/office) +"iqB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating/elevatorshaft, +/area/station/engineering/break_room) "iqD" = ( /obj/effect/turf_decal/tile/purple/opposingcorners, /obj/effect/turf_decal/siding/green{ @@ -23174,15 +21295,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"iqH" = ( -/obj/machinery/firealarm/directional/north, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "iqN" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -23193,6 +21305,23 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"iqY" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Mix Outlet Pump" + }, +/obj/machinery/atmospherics/pipe/smart/simple/supply/visible/layer2{ + dir = 9 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/camera/directional/east{ + c_tag = "Atmospherics - Distribution 2" + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "ira" = ( /obj/structure/tank_dispenser/oxygen, /obj/machinery/light/small/directional/south, @@ -23244,6 +21373,19 @@ /obj/effect/turf_decal/tile/blue/opposingcorners, /turf/open/floor/iron/dark/textured, /area/station/command/heads_quarters/hop) +"irZ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth_edge{ + dir = 4 + }, +/area/station/engineering/supermatter/room) "isi" = ( /obj/structure/table, /obj/effect/turf_decal/siding/thinplating_new{ @@ -23261,6 +21403,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/medical/medbay/lobby) +"isv" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/components/binary/pump{ + name = "Aux Cooling to Gas" + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 8 + }, +/obj/machinery/firealarm/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/station/engineering/supermatter/room) "isI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -23307,6 +21461,12 @@ "itb" = ( /turf/closed/wall/r_wall/rust, /area/station/ai_monitored/turret_protected/aisat/maint) +"itv" = ( +/obj/structure/transit_tube/horizontal{ + dir = 2 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "itw" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -23401,13 +21561,6 @@ /obj/effect/mapping_helpers/airlock/access/all/science/research, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"iuu" = ( -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 10 - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/station/engineering/supermatter) "iux" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -23458,21 +21611,6 @@ /obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron/smooth, /area/station/commons/storage/tools) -"ivx" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 6 - }, -/obj/effect/turf_decal/tile/yellow, -/obj/structure/window/spawner/directional/south, -/obj/structure/closet/secure_closet/atmospherics, -/obj/item/clothing/head/utility/welding{ - pixel_x = -5; - pixel_y = 3 - }, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/engineering/atmos) "ivz" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/stripes/line{ @@ -23499,19 +21637,21 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) -"ivE" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 4 - }, -/obj/structure/window/spawner/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "ivO" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/girder, /obj/effect/decal/cleanable/glass/plastitanium, /turf/open/floor/plating, /area/station/maintenance/fore/greater) +"ivT" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/thermomachine/heater{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "ivX" = ( /obj/structure/cable, /obj/effect/mapping_helpers/broken_floor, @@ -23541,22 +21681,38 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/service/hydroponics) -"iwe" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/computer/security/telescreen/entertainment/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) -"iwM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{ +"iwi" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ dir = 1 }, -/obj/effect/landmark/start/atmospheric_technician, +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer1{ + dir = 4 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) +"iwz" = ( +/obj/structure/disposalpipe/segment, /turf/open/floor/iron/smooth, -/area/station/engineering/atmos/pumproom) +/area/station/engineering/break_room) +"iwJ" = ( +/obj/structure/table/wood, +/obj/machinery/light/small/directional/south, +/obj/machinery/computer/security/telescreen{ + desc = "Used for monitoring the engine."; + dir = 4; + name = "Engine Monitor"; + network = list("engine"); + pixel_x = -32 + }, +/obj/machinery/status_display/evac/directional/south, +/obj/item/radio/off{ + pixel_x = 1; + pixel_y = 3 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/ce) "iwZ" = ( /obj/structure/disposalpipe/junction/flip{ dir = 8 @@ -23625,12 +21781,30 @@ }, /turf/open/floor/plating, /area/station/security/brig/entrance) -"iyq" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/hidden{ - dir = 9 +"iyl" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai) +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/engine_smes) +"iyn" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/iron/small, +/area/station/engineering/main) "iyC" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/siding/purple{ @@ -23642,17 +21816,12 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark, /area/station/science/genetics) -"iyO" = ( -/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ - dir = 10 +"izm" = ( +/obj/effect/turf_decal/siding/dark{ + dir = 9 }, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine) -"izq" = ( -/obj/structure/filingcabinet, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/engineering/break_room) +/turf/open/floor/engine/co2, +/area/station/engineering/atmos/space_catwalk) "izB" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/sign/painting/library{ @@ -23666,14 +21835,38 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/department/bridge) +"izE" = ( +/obj/machinery/door/airlock/atmos{ + name = "Locker Room" + }, +/obj/effect/mapping_helpers/airlock/access/any/engineering/construction, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/storage/gas) "izL" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/department/bridge) -"iAn" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/engineering/break_room) +"izT" = ( +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/engine, +/area/station/engineering/supermatter) +"iAk" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 10 + }, +/obj/machinery/field/generator, +/turf/open/floor/iron/dark/small, +/area/station/engineering/storage_shared) "iAy" = ( /obj/structure/table, /obj/item/clothing/shoes/sneakers/orange{ @@ -23719,6 +21912,14 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/security/brig/entrance) +"iAS" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/chair/stool/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/iron/small, +/area/station/engineering/engine_smes) "iAZ" = ( /obj/structure/bed/medical/anchored{ dir = 4 @@ -23794,6 +21995,19 @@ }, /turf/open/floor/carpet/royalblue, /area/station/command/heads_quarters/captain) +"iCp" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/station/engineering/atmos/office) +"iCr" = ( +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/break_room) "iCw" = ( /obj/structure/hedge, /obj/effect/turf_decal/tile/yellow{ @@ -23807,6 +22021,21 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"iCF" = ( +/obj/structure/railing, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron/stairs{ + dir = 8 + }, +/area/station/engineering/main) +"iCL" = ( +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/machinery/holopad, +/turf/open/floor/iron/textured_half, +/area/station/engineering/atmos) "iDk" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -23840,6 +22069,20 @@ /obj/effect/landmark/start/psychologist, /turf/open/floor/iron/white/small, /area/station/medical/psychology) +"iDO" = ( +/obj/item/kirbyplants/organic/applebush, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "iEk" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -23918,13 +22161,6 @@ /obj/structure/window/spawner/directional/east, /turf/open/misc/sandy_dirt, /area/station/medical/medbay/lobby) -"iFB" = ( -/obj/structure/tank_dispenser, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron/dark/small, -/area/station/engineering/main) "iFE" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/chair/office{ @@ -23936,21 +22172,14 @@ /obj/item/kirbyplants/random/fullysynthetic, /turf/open/floor/plating/rust, /area/station/maintenance/hallway/abandoned_command) -"iGh" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/red{ - dir = 4 +"iGc" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 4; - name = "N2 Outlet Pump" - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/station/engineering/atmos) +/obj/structure/sign/warning/no_smoking/circle/directional/west, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/smooth_corner, +/area/station/engineering/supermatter/room) "iGl" = ( /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_command) @@ -23965,19 +22194,12 @@ }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/solars/port/aft) -"iGu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/white/line{ +"iGA" = ( +/obj/structure/disposalpipe/segment{ dir = 9 }, -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 4; - name = "Air Outlet Pump" - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/station/engineering/atmos) +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "iGE" = ( /obj/structure/chair/stool/directional/east, /turf/open/floor/iron/cafeteria, @@ -24001,19 +22223,10 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating/rust, /area/station/maintenance/fore/greater) -"iHy" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/east, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/computer/turbine_computer{ - dir = 8; - mapping_id = "main_turbine" - }, -/turf/open/floor/iron/smooth_edge{ - dir = 4 - }, -/area/station/maintenance/disposal/incinerator) +"iHw" = ( +/obj/effect/spawner/random/structure/barricade, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "iHH" = ( /obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner, /obj/effect/mapping_helpers/broken_floor, @@ -24043,18 +22256,6 @@ /obj/item/flashlight/lantern, /turf/open/floor/plating, /area/station/service/library/abandoned) -"iIr" = ( -/obj/machinery/door/airlock/engineering{ - name = "Main Engine" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/small, -/area/station/engineering/main) "iIv" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -24095,6 +22296,21 @@ }, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/escape) +"iIW" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/lobby) "iJb" = ( /obj/structure/cable, /obj/structure/table/glass, @@ -24137,11 +22353,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/plating, /area/station/maintenance/department/prison) -"iJx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/pumproom) "iJz" = ( /obj/structure/table/glass, /obj/item/reagent_containers/cup/bottle/multiver{ @@ -24181,6 +22392,14 @@ /obj/item/stamp/head/captain, /turf/open/floor/wood/large, /area/station/command/heads_quarters/captain) +"iJJ" = ( +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plating, +/area/station/engineering/atmos/storage/gas) "iJL" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 4 @@ -24188,6 +22407,28 @@ /obj/structure/sign/warning/no_smoking/circle/directional/north, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"iJO" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 8 + }, +/obj/machinery/light/cold/dim/directional/north, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron, +/area/station/engineering/supermatter/room) +"iJS" = ( +/obj/structure/railing/corner/end{ + dir = 4 + }, +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron/small, +/area/station/engineering/lobby) "iKe" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/blue{ @@ -24216,6 +22457,12 @@ /obj/effect/spawner/random/trash/food_packaging, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"iKK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/purple/visible, +/obj/machinery/meter, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "iKN" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/window/reinforced/spawner/directional/north, @@ -24325,6 +22572,13 @@ /obj/machinery/flasher/portable, /turf/open/floor/plating, /area/station/security/tram) +"iME" = ( +/obj/structure/table/reinforced/titaniumglass, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/mask/gas, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "iMI" = ( /obj/structure/cable, /obj/structure/sign/warning/no_smoking/circle/directional/north, @@ -24381,6 +22635,15 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"iNC" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/rack, +/obj/item/binoculars, +/obj/machinery/camera/directional/south{ + c_tag = "Atmospherics - South" + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "iNE" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/vending/snackvend, @@ -24456,14 +22719,11 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"iOz" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/structure/sign/poster/official/random/directional/north, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron/dark, -/area/station/security/office) +"iOx" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "iOE" = ( /obj/structure/table/wood/fancy/royalblue, /obj/effect/turf_decal/siding/wood{ @@ -24502,6 +22762,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/prison/work) +"iPg" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Waste to Exhaust" + }, +/turf/open/floor/iron/smooth_edge{ + dir = 1 + }, +/area/station/engineering/supermatter/room) "iPj" = ( /obj/structure/cable, /turf/open/floor/circuit/green, @@ -24533,19 +22805,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) -"iQv" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 4 +"iQr" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 1 }, +/obj/machinery/light/small/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) +/obj/structure/disposalpipe/segment, +/obj/machinery/light_switch/directional/east, +/turf/open/floor/iron/dark/side, +/area/station/engineering/hallway) "iQK" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -24565,12 +22836,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/small, /area/station/service/chapel/storage) -"iRi" = ( -/obj/structure/cable, -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/power/smes/full, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/construction) +"iRp" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/engineering/atmos/office) "iRv" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -24622,6 +22894,11 @@ "iSr" = ( /turf/open/floor/iron, /area/station/security/execution/transfer) +"iSE" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/cyan/visible, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "iSK" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -24669,11 +22946,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"iTG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/turf/open/floor/iron, -/area/station/engineering/atmos/storage/gas) "iTP" = ( /obj/structure/cable, /obj/machinery/door/airlock/external{ @@ -24694,20 +22966,22 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"iTZ" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Pure to Waste" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos) "iUb" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/decal/cleanable/dirt, /obj/item/crowbar/large/old, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_command) -"iUq" = ( -/obj/machinery/atmospherics/components/tank/nitrous{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating, -/area/station/engineering/atmos) "iUy" = ( /obj/structure/reagent_dispensers/plumbed, /turf/open/floor/plating, @@ -24738,33 +23012,19 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) -"iUH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/table/reinforced/titaniumglass, -/obj/effect/turf_decal/siding/wideplating_new/light{ - dir = 4 - }, -/obj/machinery/cell_charger{ - pixel_y = 22 - }, -/obj/item/computer_disk/engineering, -/obj/item/computer_disk/engineering, -/obj/item/clothing/glasses/meson{ - pixel_x = -5; - pixel_y = 12 - }, -/obj/item/stamp/head/ce{ - pixel_x = 7; - pixel_y = 15 - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "iUK" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 8 }, /turf/open/floor/plating, /area/station/construction/mining/aux_base) +"iUN" = ( +/obj/structure/disposalpipe/trunk, +/obj/effect/turf_decal/bot, +/obj/machinery/airalarm/directional/north, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron, +/area/station/cargo/storage) "iVq" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 10 @@ -24913,6 +23173,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/starboard/fore) +"iWV" = ( +/obj/structure/sign/poster/official/random/directional/west, +/obj/structure/frame/computer{ + dir = 4 + }, +/obj/item/circuitboard/computer/atmos_control/helium_tank, +/obj/item/stack/cable_coil/cut, +/turf/open/floor/circuit/red, +/area/station/ai_monitored/turret_protected/ai) "iWW" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -24938,6 +23207,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"iXg" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, +/obj/effect/turf_decal/trimline/yellow/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/smooth_edge{ + dir = 8 + }, +/area/station/engineering/supermatter/room) "iXi" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -24956,6 +23237,16 @@ /obj/effect/mapping_helpers/mail_sorting/medbay/cmo_office, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"iXn" = ( +/obj/structure/table/reinforced, +/obj/item/mod/module/signlang_radio, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) +"iXx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/closed/wall/r_wall, +/area/station/maintenance/department/electrical) "iXB" = ( /obj/effect/turf_decal/siding/dark_red{ dir = 4 @@ -25000,16 +23291,6 @@ }, /turf/open/floor/iron/small, /area/station/command/teleporter) -"iYJ" = ( -/obj/structure/lattice/catwalk, -/obj/structure/railing{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/outlet_injector/layer2{ - dir = 8 - }, -/turf/open/space/basic, -/area/space/nearstation) "iYY" = ( /obj/structure/cable, /turf/open/floor/iron/small, @@ -25086,6 +23367,14 @@ /obj/machinery/light/directional/east, /turf/open/floor/wood/large, /area/station/command/heads_quarters/captain) +"jad" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "jar" = ( /obj/machinery/drone_dispenser, /turf/open/misc/asteroid, @@ -25192,6 +23481,12 @@ /obj/effect/spawner/random/vending/snackvend, /turf/open/floor/plating, /area/station/commons/fitness/recreation/entertainment) +"jbo" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 9 + }, +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos/space_catwalk) "jbr" = ( /obj/structure/table/glass, /obj/item/folder/blue{ @@ -25225,19 +23520,6 @@ /obj/structure/alien/weeds, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"jco" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/rnd/production/circuit_imprinter, -/obj/machinery/camera{ - c_tag = "Engineering - Foyer - Starboard"; - dir = 9 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plating, -/area/station/engineering/break_room) "jct" = ( /obj/structure/cable, /obj/machinery/door/airlock/external{ @@ -25256,6 +23538,13 @@ /obj/machinery/door/window/right/directional/south, /turf/open/floor/plating, /area/station/service/chapel/funeral) +"jcx" = ( +/obj/structure/filingcabinet/chestdrawer, +/obj/item/stock_parts/cell/emproof{ + pixel_y = 9 + }, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "jcE" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -25263,12 +23552,6 @@ /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/space/nearstation) -"jcF" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/yellow/arrow_cw, -/obj/machinery/atmospherics/components/trinary/filter/flipped/layer2, -/turf/open/floor/iron/smooth, -/area/station/maintenance/disposal/incinerator) "jcU" = ( /obj/structure/chair/wood/wings{ dir = 1 @@ -25371,6 +23654,15 @@ /obj/effect/mapping_helpers/requests_console/supplies, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) +"jfA" = ( +/obj/structure/table, +/obj/item/folder/yellow, +/obj/item/pen{ + pixel_x = 6; + pixel_y = 4 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/department/engine/atmos) "jfP" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock{ @@ -25402,10 +23694,14 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) -"jgZ" = ( -/obj/structure/closet/secure_closet/engineering_electrical, -/turf/open/floor/iron/small, -/area/station/engineering/atmos) +"jhk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/structure/sign/warning/pods/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "jhm" = ( /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) @@ -25416,6 +23712,16 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron, /area/station/maintenance/port/fore) +"jhz" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 5 + }, +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "jhA" = ( /obj/machinery/vending/boozeomat, /obj/effect/mapping_helpers/broken_floor, @@ -25425,6 +23731,14 @@ /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/plating, /area/station/cargo/miningoffice) +"jhJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/line, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) "jhU" = ( /obj/effect/turf_decal/stripes/white/line, /obj/effect/mapping_helpers/broken_floor, @@ -25448,6 +23762,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/textured_half, /area/station/hallway/primary/aft) +"jia" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/turf/open/space/basic, +/area/space/nearstation) "jig" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 9 @@ -25482,6 +23806,12 @@ /obj/effect/spawner/random/structure/crate_loot, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"jiC" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/maintenance/department/engine/atmos) "jiN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -25594,6 +23924,15 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/storage) +"jkV" = ( +/obj/machinery/door/airlock/external/glass{ + name = "ATMOS PROJECT Airlock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/structure/cable, +/turf/open/floor/plating/rust, +/area/station/engineering/supermatter/room) "jlt" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -25613,6 +23952,14 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/storage) +"jlL" = ( +/obj/structure/closet/secure_closet/engineering_chief, +/obj/item/storage/briefcase/secure, +/obj/item/lighter, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/wood, +/area/station/command/heads_quarters/ce) "jlN" = ( /turf/open/floor/iron/white/side{ dir = 6 @@ -25672,27 +24019,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/catwalk_floor/iron_dark, /area/station/security/processing) -"jmm" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/meter, -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "jmo" = ( /obj/structure/reagent_dispensers/fueltank, /obj/machinery/light/small/directional/west, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"jmI" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "jmK" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -25715,6 +24046,13 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) +"jmZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/machinery/light/small/directional/east, +/turf/open/floor/catwalk_floor, +/area/station/engineering/break_room) "jnh" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -25757,6 +24095,17 @@ /obj/effect/landmark/start/cargo_technician, /turf/open/floor/iron, /area/station/cargo/sorting) +"jnB" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/storage/gas) "jnN" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -25802,6 +24151,19 @@ /obj/structure/alien/weeds, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) +"jph" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/arrow_ccw{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth, +/area/station/engineering/engine_smes) "jpm" = ( /obj/structure/chair{ dir = 4; @@ -25823,13 +24185,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"jpJ" = ( -/obj/structure/window/spawner/directional/south, -/obj/effect/turf_decal/stripes/box, -/obj/structure/sign/warning/pods/directional/north, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "jpK" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ @@ -25848,6 +24203,16 @@ /obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"jqd" = ( +/obj/effect/turf_decal/sand/plating, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/closet/firecloset, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"jqh" = ( +/obj/item/stack/cable_coil/five, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "jqu" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -25881,13 +24246,16 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/plating, /area/station/cargo/sorting) -"jqF" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 4 +"jqD" = ( +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/tile/yellow/diagonal_centre, +/obj/structure/chair/sofa/bench/right{ + dir = 1 }, -/obj/structure/lattice, -/turf/open/space/basic, -/area/space/nearstation) +/obj/machinery/airalarm/directional/south, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/diagonal, +/area/station/engineering/lobby) "jqQ" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -25901,6 +24269,19 @@ }, /turf/open/floor/iron, /area/station/security/prison/rec) +"jrb" = ( +/obj/item/radio/intercom/directional/west, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"jrj" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/components/unary/passive_vent{ + dir = 4; + name = "Refuse Exhaust" + }, +/turf/open/space/basic, +/area/space/nearstation) "jrk" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -25930,6 +24311,13 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating/rust, /area/station/maintenance/fore/lesser) +"jrS" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 10 + }, +/obj/machinery/atmospherics/components/tank, +/turf/open/floor/plating, +/area/station/engineering/atmos/pumproom) "jrT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -26061,6 +24449,28 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/general, /turf/open/floor/catwalk_floor/iron_dark, /area/station/commons/storage/tools) +"jul" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer5{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) +"juF" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 6 + }, +/obj/machinery/holopad, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "juJ" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -26155,6 +24565,29 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"jwC" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer2{ + dir = 5 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/smooth, +/area/station/maintenance/disposal/incinerator) +"jwM" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/hallway) "jwU" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/sign/poster/random/directional/south, @@ -26177,6 +24610,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"jxh" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 5 + }, +/turf/open/space/basic, +/area/space/nearstation) "jxk" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26189,15 +24629,6 @@ "jxp" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/aisat/foyer) -"jxu" = ( -/obj/machinery/power/energy_accumulator/grounding_rod/anchored, -/obj/structure/window/reinforced/plasma/spawner/directional/east, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "jxy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -26249,34 +24680,6 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron/white/small, /area/station/medical/storage) -"jxV" = ( -/obj/effect/turf_decal/tile/blue, -/obj/machinery/modular_computer/preset/id, -/obj/machinery/button/ticket_machine{ - pixel_x = 9; - pixel_y = 23 - }, -/obj/machinery/button/door/directional/south{ - id = "hop"; - name = "Privacy Shutters Control"; - pixel_x = -2; - pixel_y = 23; - req_access = list("hop") - }, -/obj/machinery/button/door/directional/south{ - id = "hopqueue"; - name = "Queue Shutters Control"; - pixel_x = -13; - pixel_y = 23; - req_access = list("hop") - }, -/obj/machinery/button/flasher{ - id = "hopflash"; - pixel_x = -23; - pixel_y = 11 - }, -/turf/open/floor/iron/dark/textured_corner, -/area/station/command/heads_quarters/hop) "jxZ" = ( /obj/effect/turf_decal/siding/blue{ dir = 6 @@ -26300,6 +24703,22 @@ }, /turf/open/floor/iron/kitchen/small, /area/station/security/breakroom) +"jyl" = ( +/obj/structure/table/greyscale, +/obj/item/folder/yellow{ + pixel_x = 2; + pixel_y = 1 + }, +/obj/item/newspaper{ + pixel_y = 4; + pixel_x = -4 + }, +/obj/item/geiger_counter{ + pixel_x = 13; + pixel_y = 6 + }, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "jyu" = ( /obj/structure/chair/bronze{ dir = 4 @@ -26313,6 +24732,16 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload_foyer) +"jyC" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 5 + }, +/obj/effect/turf_decal/tile/yellow/diagonal_centre, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron/diagonal, +/area/station/engineering/lobby) "jyG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -26397,6 +24826,14 @@ /obj/structure/broken_flooring/singular/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"jzJ" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/closet/firecloset, +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron, +/area/station/engineering/hallway) "jAb" = ( /obj/structure/cable, /turf/open/floor/iron/stairs{ @@ -26428,19 +24865,12 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/fore/greater) -"jAw" = ( -/obj/structure/cable, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) -"jAB" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/engineering/atmos/pumproom) +"jAz" = ( +/obj/effect/turf_decal/stripes/end, +/obj/effect/landmark/start/hangover, +/obj/machinery/light/small/dim/directional/south, +/turf/open/floor/iron/dark, +/area/station/engineering/lobby) "jAF" = ( /obj/structure/cable, /obj/effect/mapping_helpers/broken_floor, @@ -26470,6 +24900,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) +"jBo" = ( +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 6 + }, +/obj/structure/hedge, +/turf/open/floor/iron/dark/small, +/area/station/command/heads_quarters/ce) "jBr" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/dark_red{ @@ -26477,17 +24914,16 @@ }, /turf/open/floor/iron/dark/small, /area/station/ai_monitored/security/armory) -"jBx" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"jBA" = ( +/obj/structure/cable, +/obj/machinery/power/smes/full, +/obj/machinery/camera/directional/north{ + c_tag = "AI Chamber - SMES"; + network = list("aicore") }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/structure/tank_holder/extinguisher, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/iron/dark, -/area/station/medical/medbay/central) +/obj/machinery/flasher/directional/north, +/turf/open/floor/circuit/red, +/area/station/ai_monitored/turret_protected/ai) "jBD" = ( /obj/structure/table/wood, /obj/effect/mapping_helpers/broken_floor, @@ -26501,6 +24937,13 @@ }, /turf/open/floor/iron, /area/station/security/execution/transfer) +"jBW" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "jCi" = ( /obj/structure/cable, /obj/machinery/door/airlock/maintenance, @@ -26527,6 +24970,26 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/cargo/warehouse) +"jCT" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, +/turf/closed/wall/r_wall, +/area/station/engineering/hallway) +"jCY" = ( +/obj/structure/table/greyscale, +/obj/item/screwdriver, +/obj/item/stack/cable_coil/cut{ + pixel_x = 11; + pixel_y = 7 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Engineering - Office" + }, +/obj/item/stock_parts/cell/emproof{ + pixel_x = -6; + pixel_y = 9 + }, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "jDa" = ( /obj/machinery/holopad, /turf/open/floor/wood/tile, @@ -26562,10 +25025,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/tram) -"jDw" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "jDy" = ( /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/stairs{ @@ -26724,6 +25183,13 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"jFk" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/components/unary/passive_vent{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) "jFs" = ( /obj/machinery/light/small/broken/directional/east, /turf/open/floor/wood, @@ -26792,6 +25258,15 @@ }, /turf/open/floor/iron, /area/station/security) +"jGk" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{ + dir = 8 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) "jGA" = ( /obj/structure/chair/sofa/bench/right{ dir = 4 @@ -26905,6 +25380,22 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/science/lobby) +"jIa" = ( +/obj/machinery/door/airlock/atmos{ + name = "Locker Room" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "atmos_airlock_1" + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/hallway) "jIb" = ( /turf/open/floor/plating/rust, /area/station/service/library/abandoned) @@ -27019,12 +25510,26 @@ }, /turf/open/floor/iron, /area/station/cargo/office) +"jJg" = ( +/obj/effect/turf_decal/siding/wideplating, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/wood, +/area/station/engineering/main) "jJl" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/broken_floor, /obj/machinery/light/small/directional/east, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/port/aft) +"jJu" = ( +/obj/structure/chair, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "jJy" = ( /turf/open/misc/asteroid, /area/station/service/library/abandoned) @@ -27036,6 +25541,19 @@ }, /turf/open/floor/iron, /area/station/security/execution/transfer) +"jJW" = ( +/obj/effect/decal/cleanable/oil/slippery, +/obj/item/stack/sheet/cardboard, +/turf/open/floor/iron, +/area/station/maintenance/department/engine/atmos) +"jKa" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "jKf" = ( /turf/closed/wall/rust, /area/station/service/library/abandoned) @@ -27103,17 +25621,6 @@ dir = 4 }, /area/station/cargo/office) -"jKG" = ( -/obj/machinery/incident_display/delam/directional/north, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "jKJ" = ( /obj/machinery/door/window/right/directional/north, /turf/open/floor/iron, @@ -27126,6 +25633,9 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"jKU" = ( +/turf/closed/wall, +/area/station/engineering/atmos/storage/gas) "jLi" = ( /obj/effect/landmark/start/virologist, /turf/open/floor/iron/showroomfloor, @@ -27193,30 +25703,20 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) -"jMk" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 +"jMy" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 8; + name = "Waste Outlet" }, -/obj/structure/window/spawner/directional/south, -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/end{ +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 4 }, -/obj/machinery/status_display/evac/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) -"jMo" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Waste to Exhaust" +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 8 }, -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) +/turf/open/floor/iron/small, +/area/station/engineering/atmos/pumproom) "jMC" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 8 @@ -27231,6 +25731,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/science/lower) +"jMM" = ( +/obj/structure/spider/stickyweb/sealed, +/obj/structure/spider/stickyweb, +/turf/open/floor/iron/small, +/area/station/maintenance/department/engine/atmos) "jMQ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -27276,6 +25781,17 @@ }, /turf/open/floor/iron/white, /area/station/medical/paramedic) +"jNr" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer2{ + dir = 9 + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/disposal/incinerator) "jNw" = ( /obj/machinery/door/airlock/external/glass, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -27292,6 +25808,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/small, /area/station/commons/fitness/locker_room) +"jNL" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/components/trinary/filter/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/smooth, +/area/station/maintenance/disposal/incinerator) "jNO" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/flora/bush/leavy/style_3{ @@ -27304,22 +25833,24 @@ /obj/machinery/status_display/evac/directional/west, /turf/open/misc/sandy_dirt, /area/station/hallway/primary/central/fore) -"jOb" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "jOh" = ( /obj/structure/cable, /obj/machinery/door/firedoor, /turf/open/floor/iron/small, /area/station/hallway/primary/aft) +"jOi" = ( +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/obj/structure/railing/corner/end{ + dir = 4 + }, +/obj/machinery/light/cold/directional/north, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron/dark/small, +/area/station/command/heads_quarters/ce) "jOk" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -27470,6 +26001,23 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_recreation) +"jRR" = ( +/obj/machinery/atmospherics/components/binary/crystallizer{ + dir = 4 + }, +/obj/machinery/light/cold/dim/directional/east, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) +"jRU" = ( +/obj/structure/railing, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light_switch/directional/north, +/turf/open/floor/iron/stairs/old{ + dir = 4 + }, +/area/station/engineering/break_room) "jSl" = ( /obj/structure/filingcabinet/filingcabinet, /obj/machinery/light_switch/directional/east, @@ -27582,13 +26130,6 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/dock) -"jUm" = ( -/obj/structure/table/reinforced/titaniumglass, -/obj/item/pen{ - pixel_x = 5 - }, -/turf/open/floor/iron/textured_large, -/area/station/engineering/break_room) "jUo" = ( /obj/docking_port/stationary{ dir = 2; @@ -27606,6 +26147,10 @@ /obj/item/instrument/harmonica, /turf/open/floor/iron, /area/station/security/prison/rec) +"jUx" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "jVe" = ( /obj/structure/cable, /turf/open/floor/iron/smooth, @@ -27620,6 +26165,14 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"jVI" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/landmark/event_spawn, +/obj/machinery/atmospherics/pipe/smart/manifold/dark/visible{ + dir = 8 + }, +/turf/open/floor/iron/smooth, +/area/station/maintenance/disposal/incinerator) "jVM" = ( /turf/closed/wall, /area/station/maintenance/central/greater) @@ -27636,6 +26189,21 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/security/prison/garden) +"jWe" = ( +/obj/effect/turf_decal/siding/thinplating_new/terracotta{ + dir = 10 + }, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/department/engine/atmos) +"jWk" = ( +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/structure/cable, +/obj/machinery/door/airlock/atmos{ + name = "Locker Room" + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos/office) "jWl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral{ @@ -27885,15 +26453,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, /area/station/science/ordnance/storage) -"jZR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external/glass, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "kam" = ( /obj/effect/decal/cleanable/cobweb, /obj/machinery/disposal/delivery_chute{ @@ -27964,6 +26523,11 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/plating, /area/station/maintenance/fore/greater) +"kaP" = ( +/obj/structure/lattice, +/obj/structure/grille, +/turf/open/space/basic, +/area/space/nearstation) "kaW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -28043,6 +26607,12 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) +"kcW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/smes/full, +/obj/structure/cable, +/turf/open/floor/circuit, +/area/station/tcommsat/server) "kdl" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/tile/neutral/opposingcorners, @@ -28132,6 +26702,22 @@ "kev" = ( /turf/closed/wall, /area/station/hallway/secondary/spacebridge) +"keS" = ( +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/air_input{ + dir = 1 + }, +/turf/open/floor/engine/air, +/area/station/engineering/atmos/space_catwalk) +"keY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/power/energy_accumulator/tesla_coil, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "keZ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -28151,6 +26737,15 @@ }, /turf/open/floor/iron/dark/side, /area/station/cargo/office) +"kfv" = ( +/obj/effect/turf_decal/stripes/red/line, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/dark, +/area/station/engineering/hallway) "kfw" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -28168,15 +26763,6 @@ /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"kfK" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/poddoor/preopen{ - id = "atmos"; - name = "Atmospherics Blast Door" - }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "kfM" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -28184,6 +26770,17 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"kfW" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow/diagonal_centre, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/diagonal, +/area/station/engineering/lobby) "kgh" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -28226,6 +26823,22 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"kgG" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "kgN" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/wood, @@ -28237,6 +26850,16 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/white, /area/station/medical/paramedic) +"kgW" = ( +/obj/structure/table/reinforced, +/obj/item/hfr_box/corner, +/obj/item/hfr_box/body/waste_output{ + pixel_x = 7; + pixel_y = -11 + }, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "kgZ" = ( /obj/structure/cable, /obj/machinery/newscaster/directional/east, @@ -28254,6 +26877,16 @@ /obj/structure/tram, /turf/open/floor/tram, /area/station/security/tram) +"khr" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 10 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "khD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/watertank, @@ -28354,6 +26987,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"kiQ" = ( +/obj/structure/cable, +/obj/machinery/power/smes/full, +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/iron/smooth, +/area/station/ai_monitored/turret_protected/aisat/equipment) "kjg" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28414,11 +27053,6 @@ /obj/structure/plasticflaps/opaque, /turf/open/floor/plating, /area/station/maintenance/department/bridge) -"kka" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/plating, -/area/station/engineering/atmos) "kkd" = ( /obj/machinery/door/window/brigdoor/left/directional/west{ name = "Creature Pen"; @@ -28457,6 +27091,11 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) +"kkK" = ( +/obj/effect/spawner/random/structure/closet_maintenance, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "kkL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -28610,14 +27249,19 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/iron/dark, /area/station/command/corporate_dock) -"kmR" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"kmD" = ( +/obj/structure/chair/office/light{ + name = "blue"; + color = "#6495ED"; + dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/iron/smooth, +/area/station/engineering/break_room) +"kmH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/small, +/area/station/maintenance/department/engine/atmos) "kmS" = ( /obj/machinery/power/shuttle_engine/propulsion{ dir = 1 @@ -28659,10 +27303,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"knK" = ( -/obj/effect/spawner/random/structure/closet_maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/engine/atmos) "knL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -28705,17 +27345,53 @@ }, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) -"kpz" = ( -/obj/machinery/door/airlock/external{ - name = "Escape Pod Three"; - space_dir = 1 +"koV" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) +"kpe" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 6 }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ +/obj/structure/railing/corner{ dir = 1 }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer5{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer4{ + dir = 9 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) +"kph" = ( +/obj/structure/railing, +/obj/machinery/light/cold/directional/north, +/obj/machinery/atmospherics/pipe/smart/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/iron/stairs{ + dir = 4 + }, +/area/station/engineering/atmos/office) +"kpq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/warning/vacuum/external/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/directional/north, /turf/open/floor/iron/small, -/area/station/maintenance/department/engine) +/area/station/engineering/supermatter/room) "kpF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/landmark/start/hangover, @@ -28737,12 +27413,6 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) -"kqa" = ( -/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "kqb" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28756,6 +27426,27 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/closed/wall/r_wall, /area/station/hallway/secondary/spacebridge) +"kqr" = ( +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 4 + }, +/obj/structure/table, +/obj/item/folder/red{ + pixel_x = 4; + pixel_y = 5 + }, +/obj/item/folder/yellow{ + pixel_y = 1 + }, +/obj/item/pen{ + pixel_x = -4; + pixel_y = -11 + }, +/obj/structure/sign/poster/official/random/directional/east, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/smooth, +/area/station/security/checkpoint/engineering) "kqK" = ( /obj/effect/spawner/structure/window, /obj/machinery/door/poddoor/shutters/preopen{ @@ -28847,6 +27538,10 @@ dir = 4 }, /area/station/science/lab) +"krk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/small, +/area/station/maintenance/department/engine/atmos) "kro" = ( /obj/item/kirbyplants/random/fullysynthetic, /turf/open/floor/iron, @@ -28886,6 +27581,17 @@ }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/solars/starboard/aft) +"krW" = ( +/obj/structure/bed, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/item/bedsheet/ce, +/obj/effect/landmark/start/chief_engineer, +/obj/structure/sign/poster/contraband/random/directional/north, +/obj/machinery/computer/security/telescreen/entertainment/directional/east, +/turf/open/floor/iron/grimy, +/area/station/command/heads_quarters/ce) "krY" = ( /obj/structure/table/glass, /obj/item/clothing/glasses/hud/health, @@ -29020,6 +27726,21 @@ }, /turf/open/floor/iron, /area/station/construction/mining/aux_base) +"ktL" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 9 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth_edge{ + dir = 1 + }, +/area/station/engineering/supermatter/room) "ktM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -29084,6 +27805,9 @@ /obj/effect/turf_decal/trimline/neutral/line, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"kvb" = ( +/turf/closed/wall/r_wall/rust, +/area/station/engineering/atmos) "kvf" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -29138,6 +27862,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"kwr" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/item/chair, +/turf/open/floor/iron, +/area/station/engineering/hallway) "kws" = ( /obj/item/kirbyplants/random/fullysynthetic, /obj/machinery/firealarm/directional/west, @@ -29149,15 +27878,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) -"kwz" = ( -/obj/structure/closet/secure_closet/engineering_personal, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/dark/small, -/area/station/engineering/main) "kwA" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -29165,6 +27885,13 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/science/robotics/augments) +"kwH" = ( +/obj/effect/turf_decal/sand/plating, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer4{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) "kwW" = ( /obj/machinery/light/small/directional/west, /turf/open/floor/iron/smooth, @@ -29178,6 +27905,24 @@ /obj/structure/window/spawner/directional/north, /turf/open/space/basic, /area/space/nearstation) +"kxb" = ( +/obj/structure/table/reinforced/titaniumglass, +/obj/effect/turf_decal/bot, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 14 + }, +/obj/item/flashlight/lamp{ + pixel_x = -6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/landmark/event_spawn, +/obj/item/stamp/head/ce{ + pixel_x = 9; + pixel_y = -1 + }, +/turf/open/floor/catwalk_floor/titanium, +/area/station/command/heads_quarters/ce) "kxm" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair/comfy/beige{ @@ -29191,23 +27936,6 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) -"kxD" = ( -/obj/machinery/vending/coffee, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron, -/area/station/engineering/break_room) -"kxK" = ( -/obj/effect/turf_decal/tile/yellow, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron/dark, -/area/station/engineering/main) "kxL" = ( /turf/open/floor/iron/dark/small, /area/station/hallway/secondary/entry) @@ -29222,6 +27950,28 @@ /obj/structure/window/spawner/directional/east, /turf/open/floor/plating/rust, /area/station/maintenance/fore/lesser) +"kya" = ( +/obj/structure/table/greyscale, +/obj/item/paper{ + pixel_y = 6 + }, +/obj/item/reagent_containers/cup/glass/mug/tea{ + pixel_y = 8; + pixel_x = -7 + }, +/obj/item/pen{ + pixel_x = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) +"kyg" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, +/obj/machinery/light/small/directional/west, +/obj/structure/sign/warning/no_smoking/circle/directional/west, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos) "kyr" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/machinery/airalarm/directional/west, @@ -29258,15 +28008,6 @@ /obj/effect/turf_decal/trimline/neutral/line, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"kyT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/event_spawn, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "kyZ" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -29280,16 +28021,6 @@ /obj/effect/turf_decal/trimline/neutral/line, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"kzo" = ( -/obj/machinery/vending/wardrobe/engi_wardrobe, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/light/directional/north, -/obj/machinery/light_switch/directional/west, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron, -/area/station/engineering/break_room) "kzu" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -29362,6 +28093,24 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"kAp" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/small, +/area/station/hallway/primary/fore) +"kAG" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/obj/structure/railing{ + dir = 9 + }, +/obj/structure/railing/corner, +/obj/machinery/power/emitter{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) "kAR" = ( /obj/structure/fireplace, /obj/effect/turf_decal/siding/wood, @@ -29385,15 +28134,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) -"kBq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/item/kirbyplants/random, -/obj/machinery/firealarm/directional/west, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/smooth, -/area/station/engineering/engine_smes) "kBA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -29401,6 +28141,22 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"kBC" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light/floor, +/turf/open/floor/iron/small, +/area/station/engineering/main) "kBD" = ( /obj/machinery/atmospherics/pipe/smart/manifold/pink/visible, /turf/closed/wall/mineral/titanium/nodiagonal, @@ -29408,6 +28164,14 @@ "kBH" = ( /turf/open/floor/iron/white/small, /area/station/service/janitor) +"kBZ" = ( +/obj/machinery/door/airlock/command{ + name = "Chief Engineer's Office" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/ce, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark/small, +/area/station/engineering/main) "kCb" = ( /obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/white, @@ -29486,23 +28250,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/port/aft) +"kDj" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 5 + }, +/obj/machinery/atmospherics/components/tank, +/turf/open/floor/plating, +/area/station/engineering/atmos/pumproom) "kDq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons) -"kDS" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/line, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "kDV" = ( /obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, @@ -29511,6 +28271,13 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"kDY" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, +/obj/machinery/door/airlock/public/glass{ + name = "Atmospherics Project Bay" + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "kEe" = ( /obj/structure/broken_flooring/singular/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -29540,6 +28307,13 @@ dir = 1 }, /area/station/cargo/storage) +"kEx" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/machinery/light/small/dim/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "kEA" = ( /obj/effect/turf_decal/delivery, /obj/effect/turf_decal/stripes/line{ @@ -29601,6 +28375,10 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron/smooth, /area/station/cargo/sorting) +"kFH" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/engineering/atmos/office) "kFI" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -29621,18 +28399,9 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/cargo/sorting) -"kFP" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) +"kFS" = ( +/turf/closed/mineral/random/stationside, +/area/station/engineering/atmos) "kFU" = ( /obj/item/kirbyplants/random, /turf/open/floor/iron, @@ -29640,14 +28409,26 @@ "kFY" = ( /turf/closed/wall/r_wall, /area/station/medical/morgue) -"kGd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/smooth_half{ +"kGm" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/machinery/power/supermatter_crystal/engine, +/turf/open/floor/engine, +/area/station/engineering/supermatter) +"kGn" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) +"kGq" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/radio/intercom/directional/south, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/modular_computer/preset/cargochat/medical{ dir = 1 }, -/area/station/maintenance/department/engine/atmos) +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "kGz" = ( /obj/structure/girder, /turf/open/floor/plating, @@ -29685,6 +28466,15 @@ "kGS" = ( /turf/open/floor/iron/white, /area/station/maintenance/central/greater) +"kGY" = ( +/obj/structure/plasticflaps/opaque, +/obj/effect/turf_decal/bot, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=4"; + location = "Engineering" + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "kHi" = ( /obj/structure/table/glass, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -29722,6 +28512,20 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/port/fore) +"kHI" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "kHL" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 1 @@ -29739,6 +28543,20 @@ }, /turf/open/floor/iron, /area/station/security) +"kHQ" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer5{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer4{ + dir = 6 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "kHT" = ( /obj/structure/table, /obj/effect/spawner/random/maintenance, @@ -29769,6 +28587,15 @@ }, /turf/open/floor/circuit, /area/station/maintenance/port/aft) +"kIp" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/storage/gas) "kIv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -29871,6 +28698,10 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plating, /area/station/ai_monitored/security/armory) +"kJs" = ( +/obj/machinery/holopad, +/turf/open/floor/iron/smooth_edge, +/area/station/engineering/supermatter/room) "kJJ" = ( /obj/structure/cable, /obj/effect/mapping_helpers/broken_floor, @@ -29957,17 +28788,19 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"kLk" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 10 + }, +/turf/open/floor/iron/smooth_edge, +/area/station/engineering/supermatter/room) "kLo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/station/service/chapel/funeral) -"kLq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/engineering/atmospherics_portable, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "kLu" = ( /obj/machinery/shower/directional/south, /obj/effect/turf_decal/box, @@ -29976,6 +28809,15 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/restrooms) +"kLv" = ( +/obj/effect/decal/cleanable/oil/slippery, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/public/glass{ + name = "Supplies" + }, +/turf/open/floor/plating, +/area/station/engineering/atmospherics_engine) "kLB" = ( /obj/machinery/shower/directional/south, /obj/effect/turf_decal/box, @@ -30023,6 +28865,12 @@ /obj/effect/turf_decal/trimline/blue/warning, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"kNn" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "kNu" = ( /obj/structure/closet/firecloset, /turf/open/floor/plating, @@ -30031,9 +28879,28 @@ /obj/structure/closet/emcloset, /turf/open/floor/iron/small, /area/station/maintenance/department/medical/central) +"kNC" = ( +/turf/open/floor/iron/small, +/area/station/maintenance/department/engine/atmos) "kND" = ( /turf/closed/wall/r_wall, /area/station/security/prison) +"kNG" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/pipe/bridge_pipe/orange/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/hidden{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/hallway) "kNI" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/spawner/random/maintenance, @@ -30202,6 +29069,23 @@ /obj/item/kirbyplants/random/fullysynthetic, /turf/open/floor/iron/small, /area/station/maintenance/port/lesser) +"kQo" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) +"kQr" = ( +/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "kQt" = ( /turf/closed/wall/r_wall, /area/station/maintenance/starboard/aft) @@ -30228,6 +29112,18 @@ }, /turf/open/floor/iron/dark/small, /area/station/science/xenobiology) +"kRu" = ( +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/obj/machinery/air_sensor/air_tank, +/obj/machinery/camera/emp_proof{ + c_tag = "Engineering - Atmospherics CO2 Chamber"; + dir = 5; + network = list("ss13","engineering") + }, +/turf/open/floor/engine/air, +/area/station/engineering/atmos/space_catwalk) "kRE" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -30260,9 +29156,23 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) +"kRW" = ( +/obj/machinery/computer/atmos_control/nitrogen_tank{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/office) "kSb" = ( /turf/open/floor/wood, /area/station/command/heads_quarters/qm) +"kSc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/end, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/lobby) "kSd" = ( /obj/structure/cable, /obj/machinery/firealarm/directional/north, @@ -30273,6 +29183,12 @@ /obj/machinery/holopad, /turf/open/floor/wood, /area/station/command/heads_quarters/qm) +"kSj" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "kSr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -30300,12 +29216,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"kSL" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/portable_atmospherics/canister, -/turf/open/floor/iron, -/area/station/engineering/atmospherics_engine) "kSN" = ( /obj/effect/landmark/atmospheric_sanity/ignore_area, /turf/open/floor/eighties/red, @@ -30356,6 +29266,12 @@ dir = 1 }, /area/station/command/heads_quarters/hop) +"kTu" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/smooth, +/area/station/engineering/engine_smes) "kTw" = ( /turf/closed/wall, /area/station/construction/mining/aux_base) @@ -30387,12 +29303,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/station/service/chapel/funeral) -"kUl" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 4 - }, -/turf/closed/wall, -/area/station/engineering/atmos) "kUt" = ( /obj/machinery/computer/security/telescreen{ desc = "Used for watching Prison Wing holding areas."; @@ -30404,27 +29314,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/security/office) -"kUy" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ - dir = 8 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "kUF" = ( /obj/structure/disposalpipe/segment{ dir = 10 }, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"kUI" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "kUM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -30468,6 +29363,18 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"kVK" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/obj/structure/railing{ + dir = 6 + }, +/obj/structure/reflector/double/anchored, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/space/basic, +/area/space/nearstation) "kWd" = ( /obj/machinery/door/airlock{ name = "Room 2" @@ -30475,6 +29382,18 @@ /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) +"kWg" = ( +/obj/structure/table/greyscale, +/obj/item/pen{ + pixel_x = 13; + pixel_y = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/item/book/manual/wiki/engineering_guide{ + pixel_y = 4 + }, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "kWk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -30505,6 +29424,25 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/port) +"kWK" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron/small, +/area/station/engineering/engine_smes) +"kXf" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"kXj" = ( +/obj/machinery/suit_storage_unit/engine, +/turf/open/floor/plating/rust, +/area/station/engineering/supermatter/room) "kXl" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -30563,6 +29501,11 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/plating, /area/station/hallway/secondary/dock) +"kYo" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/obj/machinery/atmospherics/pipe/layer_manifold/yellow/visible, +/turf/open/floor/plating, +/area/station/engineering/atmos/space_catwalk) "kYs" = ( /obj/machinery/mech_bay_recharge_port{ dir = 2 @@ -30582,6 +29525,14 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/maintenance/port/fore) +"kYI" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/chair/plastic{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "kYQ" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -30662,6 +29613,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/plating, /area/station/science/ordnance/testlab) +"lae" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Cold Loop to Gas" + }, +/turf/open/floor/iron/smooth_edge{ + dir = 1 + }, +/area/station/engineering/supermatter/room) "lao" = ( /obj/effect/mob_spawn/corpse/human, /turf/open/floor/wood, @@ -30669,6 +29628,21 @@ "laD" = ( /turf/open/floor/iron/dark, /area/station/hallway/primary/central/fore) +"laF" = ( +/obj/structure/table, +/obj/effect/turf_decal/siding/thinplating_new/terracotta{ + dir = 6 + }, +/obj/machinery/light/small/directional/east, +/obj/item/stack/sheet/iron/five{ + pixel_y = 22 + }, +/obj/item/flashlight/lamp/bananalamp{ + pixel_y = 11; + pixel_x = 7 + }, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/department/engine/atmos) "laL" = ( /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 4 @@ -30736,19 +29710,6 @@ /obj/structure/tram, /turf/open/floor/tram, /area/station/maintenance/port/aft) -"lbM" = ( -/obj/structure/chair/sofa/bench/right{ - dir = 1 - }, -/obj/machinery/camera/directional/south, -/obj/effect/turf_decal/tile/blue, -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/machinery/computer/security/telescreen/entertainment/directional/south, -/turf/open/floor/iron/dark/side, -/area/station/hallway/primary/central/fore) "lbO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -30849,12 +29810,6 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/grass, /area/station/service/hydroponics/garden) -"lcU" = ( -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/incident_display/dual/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/small, -/area/station/engineering/atmos) "lcW" = ( /obj/structure/disposalpipe/sorting/mail{ dir = 1 @@ -30864,6 +29819,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white/small, /area/station/service/janitor) +"lda" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/engineering/hallway) +"ldb" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "lde" = ( /obj/item/radio/intercom/directional/south, /obj/structure/disposalpipe/trunk{ @@ -30954,16 +29919,6 @@ }, /turf/open/floor/iron/small, /area/station/hallway/primary/central/fore) -"leh" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "lej" = ( /obj/structure/kitchenspike, /obj/effect/turf_decal/bot_red, @@ -31031,15 +29986,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/restrooms) -"leF" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ - dir = 6 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "leH" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -31125,22 +30071,48 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/security/prison) +"lfI" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/trimline/yellow/arrow_ccw{ + dir = 1 + }, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) +"lfQ" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 9 + }, +/obj/machinery/shower/directional/east, +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/dark/small, +/area/station/engineering/main) "lfU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/brown/opposingcorners, /turf/open/floor/iron, /area/station/cargo/miningoffice) +"lgc" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/components/binary/pump{ + name = "Gas to Aux Cooling"; + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/supermatter/room) "lgf" = ( /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"lgg" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 6 - }, -/turf/open/space/basic, -/area/space/nearstation) "lgh" = ( /obj/structure/table, /obj/machinery/light_switch/directional/north, @@ -31218,6 +30190,10 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood/tile, /area/station/commons) +"lgr" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/small, +/area/station/maintenance/department/electrical) "lgx" = ( /obj/structure/disposalpipe/junction/flip, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -31284,6 +30260,11 @@ /obj/structure/barricade/wooden/crude, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"lhq" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/machinery/suit_storage_unit/ce, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "lhv" = ( /obj/structure/cable, /obj/machinery/power/solar{ @@ -31318,6 +30299,25 @@ /obj/item/pickaxe, /turf/open/misc/asteroid, /area/station/maintenance/starboard/greater) +"lhZ" = ( +/obj/machinery/suit_storage_unit/engine, +/obj/structure/cable, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) +"lix" = ( +/obj/structure/table/reinforced, +/obj/item/grenade/chem_grenade/cleaner{ + pixel_x = 8; + pixel_y = 13 + }, +/obj/item/grenade/chem_grenade/smart_metal_foam{ + pixel_x = -2; + pixel_y = 9 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plating, +/area/station/engineering/atmospherics_engine) "liG" = ( /obj/structure/cable, /obj/structure/table/glass, @@ -31353,18 +30353,14 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron, /area/station/maintenance/fore/greater) -"ljk" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +"liX" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/nitrogen, -/obj/machinery/camera/autoname/directional/east, -/obj/machinery/light/directional/east, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/rust, +/area/station/maintenance/department/engine/atmos) "ljl" = ( /obj/structure/lattice, /obj/structure/railing/corner{ @@ -31496,6 +30492,22 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"lkQ" = ( +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/item/stack/sheet/plasteel/fifty, +/obj/item/stack/sheet/plastic/five, +/obj/item/stack/sheet/rglass/fifty, +/obj/item/storage/medkit/fire{ + pixel_x = 1; + pixel_y = 4 + }, +/obj/machinery/airalarm/directional/east, +/obj/item/stock_parts/cell/emproof{ + pixel_y = 9 + }, +/turf/open/floor/iron/small, +/area/station/engineering/break_room) "lkR" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -31504,14 +30516,6 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/station/security/prison) -"lkU" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "lkV" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance) @@ -31606,12 +30610,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/qm) -"lmG" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold/general/visible, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "lmR" = ( /obj/structure/dresser, /obj/structure/sign/poster/contraband/random/directional/east, @@ -31623,6 +30621,15 @@ }, /turf/open/floor/iron/dark, /area/station/cargo/office) +"lns" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 8 + }, +/obj/structure/sign/warning/cold_temp/directional/east, +/turf/open/floor/iron, +/area/station/engineering/supermatter/room) "lnu" = ( /obj/machinery/holopad, /turf/open/floor/iron/dark, @@ -31676,20 +30683,22 @@ /obj/machinery/light/floor, /turf/open/floor/iron/dark, /area/station/tcommsat/server) +"lon" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/landmark/atmospheric_sanity/ignore_area, +/turf/open/floor/iron/small, +/area/station/maintenance/department/engine/atmos) "loo" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"los" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +"loq" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/light/small/dim/directional/west, +/turf/open/floor/iron, +/area/station/maintenance/department/engine/atmos) "loL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -31713,6 +30722,11 @@ "lpC" = ( /turf/open/floor/plating, /area/station/service/chapel/funeral) +"lpJ" = ( +/obj/structure/hedge, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "lpR" = ( /obj/structure/cable, /obj/structure/table/glass, @@ -31725,6 +30739,22 @@ }, /turf/open/floor/wood/large, /area/station/command/heads_quarters/captain) +"lpT" = ( +/obj/structure/table/reinforced/titaniumglass, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = -9; + pixel_x = -4 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/cable_coil{ + pixel_x = -1; + pixel_y = -7 + }, +/obj/effect/turf_decal/bot, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "lpV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/siding/green{ @@ -31752,6 +30782,19 @@ }, /turf/open/floor/iron/small, /area/station/security/brig) +"lqg" = ( +/obj/structure/chair/sofa/bench/right{ + dir = 1 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Atmospherics - South" + }, +/obj/effect/landmark/start/assistant, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/white/side, +/area/station/hallway/primary/starboard) "lql" = ( /turf/open/floor/wood/parquet, /area/station/service/library) @@ -31789,6 +30832,15 @@ /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/aft) +"lrD" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 10 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "lrE" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -31801,12 +30853,34 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) +"lrL" = ( +/obj/structure/table/reinforced/titaniumglass, +/obj/item/multitool{ + pixel_x = 7; + pixel_y = 18 + }, +/obj/item/storage/bag/construction, +/obj/effect/turf_decal/bot, +/obj/machinery/camera/directional/south{ + c_tag = "Atmospherics - North" + }, +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "lrP" = ( /obj/machinery/computer/security{ dir = 8 }, /turf/open/floor/iron/dark, /area/station/security/office) +"lsd" = ( +/obj/machinery/photocopier, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "lsJ" = ( /obj/structure/window/spawner/directional/north, /obj/effect/turf_decal/stripes/end{ @@ -31815,6 +30889,11 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating, /area/station/hallway/secondary/service) +"lsK" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/smart/simple/brown/visible, +/turf/open/space/basic, +/area/space/nearstation) "lsO" = ( /obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron/white/side{ @@ -31862,6 +30941,13 @@ }, /turf/open/floor/catwalk_floor/iron_dark, /area/station/service/library) +"ltz" = ( +/obj/effect/turf_decal/siding/red{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/engine/n2, +/area/station/engineering/atmos/space_catwalk) "ltP" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/effect/turf_decal/siding/wood{ @@ -31917,11 +31003,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/storage/tcomms) -"lur" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/camera/directional/south, -/turf/open/floor/iron, -/area/station/hallway/secondary/dock) "lus" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -31943,6 +31024,13 @@ }, /turf/open/floor/wood/parquet, /area/station/service/greenroom) +"luC" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/space/basic, +/area/space/nearstation) "luU" = ( /obj/machinery/smartfridge/food, /obj/machinery/door/firedoor, @@ -31992,6 +31080,18 @@ }, /turf/open/floor/wood/parquet, /area/station/service/greenroom) +"lvG" = ( +/obj/machinery/atmospherics/components/trinary/filter/critical, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/engineering/supermatter/room) +"lvK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/landmark/blobstart, +/turf/open/floor/iron/small, +/area/station/maintenance/department/engine/atmos) "lvS" = ( /obj/machinery/porta_turret/ai{ dir = 4 @@ -32085,6 +31185,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white/small, /area/station/service/hydroponics/garden) +"lwW" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/engineering/main) "lwY" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -32134,6 +31239,25 @@ /obj/structure/broken_flooring/pile/directional/east, /turf/open/floor/plating, /area/station/hallway/secondary/dock) +"lxO" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/power/emitter{ + dir = 1 + }, +/turf/open/space/basic, +/area/space/nearstation) +"lxP" = ( +/obj/effect/turf_decal/sand/plating, +/obj/effect/spawner/random/structure/girder, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "lxT" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32184,11 +31308,31 @@ /obj/structure/cable, /turf/open/floor/iron/textured_half, /area/station/service/janitor) +"lyt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "lyQ" = ( /obj/structure/table, /obj/item/storage/photo_album/prison, /turf/open/floor/iron, /area/station/security/prison/workout) +"lyR" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"lyX" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "lyY" = ( /obj/structure/bed, /obj/item/bedsheet/red, @@ -32206,6 +31350,18 @@ /obj/item/wrench, /turf/open/floor/iron, /area/station/security/tram) +"lzn" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters{ + id = "atmosbridge" + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "lzp" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -32316,14 +31472,6 @@ }, /turf/open/floor/iron, /area/station/cargo/office) -"lAF" = ( -/obj/structure/table/reinforced/titaniumglass, -/obj/item/stack/sheet/titaniumglass, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/machinery/light/directional/north, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron, -/area/station/engineering/atmos/storage/gas) "lAO" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt, @@ -32365,6 +31513,14 @@ /obj/structure/chair/stool/directional/west, /turf/open/floor/iron/small, /area/station/maintenance/port/lesser) +"lBm" = ( +/obj/effect/turf_decal/stripes/box, +/obj/structure/disposalpipe/trunk, +/obj/structure/disposaloutlet{ + name = "Cargo Deliveries" + }, +/turf/open/floor/iron/dark, +/area/station/engineering/lobby) "lBn" = ( /obj/effect/turf_decal/siding/white{ dir = 5 @@ -32390,6 +31546,22 @@ }, /turf/open/floor/iron, /area/station/cargo/office) +"lBp" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 10 + }, +/turf/open/space/basic, +/area/space/nearstation) +"lBw" = ( +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/item/kirbyplants/random, +/obj/machinery/light/directional/west, +/turf/open/floor/iron/textured_half, +/area/station/engineering/atmos) "lBy" = ( /obj/structure/railing, /obj/structure/lattice, @@ -32442,17 +31614,17 @@ }, /turf/open/floor/iron/white/small, /area/station/security/warden) +"lCw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/engineering/lobby) "lCD" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/commons) -"lCH" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "lCN" = ( /obj/structure/falsewall, /turf/open/floor/plating, @@ -32505,11 +31677,6 @@ /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"lDE" = ( -/obj/machinery/portable_atmospherics/canister/nitrogen, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/small, -/area/station/engineering/supermatter/room) "lDH" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/east, @@ -32572,6 +31739,9 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/stone, /area/station/command/heads_quarters/captain/private) +"lER" = ( +/turf/open/floor/iron/dark, +/area/station/maintenance/department/engine/atmos) "lEZ" = ( /obj/effect/turf_decal/trimline/white/line, /obj/effect/turf_decal/trimline/white/mid_joiner, @@ -32584,6 +31754,15 @@ }, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_command) +"lFE" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/arrow_ccw, +/obj/structure/cable, +/turf/open/floor/iron/smooth_edge, +/area/station/engineering/supermatter/room) "lFG" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/siding/red, @@ -32591,6 +31770,28 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/storage) +"lFH" = ( +/obj/machinery/light/cold/dim/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/sign/warning/engine_safety/directional/north, +/turf/open/floor/iron/small, +/area/station/engineering/break_room) +"lFT" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/table/reinforced/titaniumglass, +/obj/item/storage/belt/utility, +/obj/item/pipe_dispenser, +/obj/item/clothing/head/utility/welding{ + pixel_y = 6 + }, +/obj/item/clothing/head/utility/welding{ + pixel_y = 6 + }, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "lGe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -32610,6 +31811,13 @@ }, /turf/open/misc/sandy_dirt, /area/station/hallway/primary/central/fore) +"lGq" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/structure/fluff/broken_canister_frame, +/turf/open/floor/iron, +/area/station/engineering/atmos) "lGr" = ( /obj/effect/turf_decal/siding/brown{ dir = 6 @@ -32660,6 +31868,12 @@ /obj/structure/chair/stool/directional/south, /turf/open/floor/carpet/donk, /area/station/command/heads_quarters/qm) +"lHh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sign/warning/radiation/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "lHi" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -32790,6 +32004,13 @@ /obj/structure/cable, /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/qm) +"lIt" = ( +/obj/effect/turf_decal/siding/thinplating_new/terracotta{ + dir = 6 + }, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/department/engine/atmos) "lIw" = ( /obj/structure/chair/stool/directional/west, /obj/effect/decal/cleanable/dirt, @@ -32818,12 +32039,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/freezer, /area/station/command/heads_quarters/captain/private) -"lJA" = ( -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ - dir = 5 +"lJF" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{ + dir = 4 }, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "lJV" = ( /obj/structure/bed, /obj/effect/decal/cleanable/dirt, @@ -32926,6 +32148,15 @@ /obj/effect/mapping_helpers/airlock/access/any/security/general, /turf/open/floor/iron, /area/station/security/checkpoint/escape) +"lLe" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "lLq" = ( /obj/machinery/firealarm/directional/east, /obj/effect/decal/cleanable/oil, @@ -32943,6 +32174,29 @@ "lLv" = ( /turf/open/floor/wood, /area/station/maintenance/fore/greater) +"lLA" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/status_display/evac/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) +"lLE" = ( +/obj/effect/turf_decal/sand/plating, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer5{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer1{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) "lLH" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -32977,11 +32231,51 @@ "lLX" = ( /turf/open/floor/iron/showroomfloor, /area/station/medical/surgery/theatre) +"lMg" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/camera/directional/north{ + c_tag = "Atmospherics - South 2" + }, +/obj/machinery/portable_atmospherics/pump, +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) +"lMl" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/main) "lMp" = ( /obj/structure/disposalpipe/segment, /obj/structure/plasticflaps/opaque, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"lMr" = ( +/obj/machinery/door/poddoor/preopen{ + id = "Engineering"; + name = "Engineering Security Doors" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/engineering/lobby) "lMy" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -33112,6 +32406,20 @@ }, /turf/open/floor/stone, /area/station/command/heads_quarters/hos) +"lNC" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/item/clothing/head/cone{ + pixel_x = 6; + pixel_y = 17 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "lNF" = ( /obj/effect/spawner/random/entertainment/lighter, /obj/item/clothing/mask/cigarette/rollie/mindbreaker{ @@ -33125,6 +32433,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"lNJ" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 6 + }, +/obj/effect/turf_decal/tile/yellow/diagonal_centre, +/obj/item/kirbyplants/random, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/diagonal, +/area/station/engineering/lobby) "lNQ" = ( /obj/effect/turf_decal/bot_white/right, /obj/machinery/firealarm/directional/north, @@ -33160,6 +32477,10 @@ "lOj" = ( /turf/closed/wall, /area/station/cargo/miningoffice) +"lOk" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "lOt" = ( /obj/structure/closet/l3closet/janitor, /obj/effect/mapping_helpers/broken_floor, @@ -33173,6 +32494,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/security/office) +"lOC" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/turf/open/space/basic, +/area/space/nearstation) "lOG" = ( /obj/structure/table, /obj/item/stack/spacecash/c1{ @@ -33191,6 +32517,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/commons/dorms) +"lOM" = ( +/obj/structure/table, +/obj/item/folder, +/turf/open/misc/asteroid, +/area/station/maintenance/department/electrical) "lOO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/siding{ @@ -33227,6 +32558,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"lPw" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer2{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "lPC" = ( /obj/structure/bookcase/random, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -33260,6 +32597,30 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron, /area/station/commons/dorms) +"lPW" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Atmos to Loop" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/poster/official/random/directional/west, +/turf/open/floor/iron/smooth_edge{ + dir = 8 + }, +/area/station/engineering/supermatter/room) +"lQd" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/layer_manifold/yellow/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "lQh" = ( /turf/open/floor/iron/small, /area/station/maintenance/port/aft) @@ -33333,6 +32694,18 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"lRz" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Waste to Filter" + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "lRC" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light_switch/directional/south, @@ -33364,19 +32737,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/small, /area/station/commons/fitness/locker_room) -"lSh" = ( -/obj/effect/turf_decal/caution/stand_clear/white{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/firealarm/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/smooth_half{ - dir = 1 - }, -/area/station/engineering/atmospherics_engine) "lSu" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -33396,6 +32756,12 @@ /obj/machinery/light/cold/directional/west, /turf/open/floor/iron/cafeteria, /area/station/service/cafeteria) +"lSF" = ( +/obj/effect/decal/cleanable/generic, +/obj/machinery/light/cold/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "lSI" = ( /obj/machinery/atmospherics/pipe/smart/simple/general/visible, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -33456,6 +32822,18 @@ /obj/structure/chair/stool/directional/west, /turf/open/floor/iron/small, /area/station/maintenance/port/lesser) +"lTC" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 9 + }, +/obj/structure/railing/corner, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Release" + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "lTF" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -33482,6 +32860,15 @@ "lUo" = ( /turf/open/floor/iron, /area/station/science/lobby) +"lUu" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/space/basic, +/area/space/nearstation) "lUz" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -33544,6 +32931,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"lVv" = ( +/obj/structure/chair/stool/directional/south, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/wood, +/area/station/engineering/break_room) "lVy" = ( /obj/effect/turf_decal/tile/green/anticorner/contrasted{ dir = 8 @@ -33601,12 +32996,14 @@ }, /turf/open/floor/wood/parquet, /area/station/command/heads_quarters/cmo) -"lVZ" = ( -/obj/machinery/modular_computer/preset/id{ - dir = 4 +"lVW" = ( +/obj/machinery/power/turbine/core_rotor{ + dir = 8; + mapping_id = "main_turbine" }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/maintenance/disposal/incinerator) "lWb" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/sign/warning/no_smoking/circle/directional/north, @@ -33616,16 +33013,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/large, /area/station/hallway/primary/central/fore) -"lWv" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/engineering/atmos) "lWF" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -33679,12 +33066,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/security/checkpoint/supply) -"lXe" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/secure_safe/caps_spare, -/obj/structure/table/glass, -/turf/open/floor/glass/reinforced, -/area/station/command/bridge) "lXf" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, @@ -33797,6 +33178,24 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/qm) +"lYF" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 9 + }, +/turf/open/floor/wood, +/area/station/engineering/break_room) +"lYH" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Atmospherics Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "atmos_airlock_1" + }, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "lYT" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/engineering/atmospherics_portable, @@ -33836,6 +33235,16 @@ }, /turf/open/floor/iron/grimy, /area/station/tcommsat/server) +"lZp" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/yellow/arrow_ccw, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Turbine to Wastes" + }, +/turf/open/floor/iron/smooth, +/area/station/maintenance/disposal/incinerator) "lZt" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, @@ -34007,19 +33416,16 @@ /obj/machinery/pdapainter/medbay, /turf/open/floor/wood/parquet, /area/station/command/heads_quarters/cmo) +"mbG" = ( +/obj/structure/fluff/broken_canister_frame, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "mbK" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 }, /turf/open/floor/iron/grimy, /area/station/service/library) -"mbN" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/nitrous_output{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/engine/n2o, -/area/station/ai_monitored/turret_protected/ai) "mbV" = ( /obj/effect/spawner/random/entertainment/arcade, /turf/open/floor/eighties/red, @@ -34029,6 +33435,19 @@ /obj/machinery/cell_charger, /turf/open/floor/iron/grimy, /area/station/science/cubicle) +"mcb" = ( +/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "mch" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -34061,13 +33480,6 @@ /obj/item/phone, /turf/open/floor/iron/smooth, /area/station/maintenance/port/aft) -"mcx" = ( -/obj/machinery/shieldgen, -/obj/effect/turf_decal/stripes/white/line{ - dir = 9 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos) "mcP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -34076,6 +33488,16 @@ /obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/dark, /area/station/medical/medbay/aft) +"mcT" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/engineering/supermatter) "mda" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -34119,6 +33541,12 @@ }, /turf/open/floor/wood, /area/station/cargo/miningfoundry) +"meh" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) "meu" = ( /turf/closed/wall, /area/station/command/heads_quarters/captain) @@ -34174,6 +33602,12 @@ dir = 8 }, /area/station/science/research) +"mfn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/station/command/heads_quarters/ce) "mfo" = ( /obj/item/kirbyplants/random, /obj/machinery/newscaster/directional/west, @@ -34203,24 +33637,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/smooth_edge, /area/station/maintenance/starboard/greater) -"mfK" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/east, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/structure/table/reinforced/titaniumglass, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/directional/north{ - c_tag = "Engineering Turbine" - }, -/obj/machinery/button/ignition/incinerator/atmos{ - pixel_x = 3; - pixel_y = 5 - }, -/turf/open/floor/iron/smooth_corner{ - dir = 8 - }, -/area/station/maintenance/disposal/incinerator) "mfP" = ( /obj/structure/hedge, /obj/machinery/light_switch/directional/west, @@ -34241,11 +33657,30 @@ /obj/machinery/recharger, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs) +"mfU" = ( +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/electrical) +"mfV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/space_heater, +/turf/open/floor/iron, +/area/station/engineering/atmos) "mgt" = ( /obj/machinery/vending/boozeomat, /obj/machinery/firealarm/directional/south, /turf/open/floor/wood/large, /area/station/command/heads_quarters/captain/private) +"mgz" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/barricade/wooden, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "mhf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -34310,6 +33745,10 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/dorms) +"mid" = ( +/obj/effect/spawner/random/structure/crate_loot, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "mie" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt, @@ -34364,6 +33803,24 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/small, /area/station/commons/fitness/locker_room) +"miN" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Gas to Chamber" + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter) +"miR" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/yellow/line, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) "mjf" = ( /obj/structure/table/reinforced/rglass, /obj/machinery/door/window/left/directional/west{ @@ -34507,6 +33964,13 @@ /obj/effect/landmark/start/quartermaster, /turf/open/floor/carpet/donk, /area/station/command/heads_quarters/qm) +"mls" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/smooth, +/area/station/engineering/break_room) "mlx" = ( /obj/structure/cable, /obj/machinery/airalarm/directional/south, @@ -34596,6 +34060,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/execution/transfer) +"mmT" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/yellow/corner{ + dir = 8 + }, +/turf/open/floor/iron/smooth, +/area/station/maintenance/department/electrical) "mnb" = ( /obj/effect/turf_decal/stripes/white/corner{ dir = 4 @@ -34650,6 +34126,22 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"mnx" = ( +/obj/structure/table/reinforced/titaniumglass, +/obj/machinery/button/door/incinerator_vent_atmos_aux{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/machinery/button/ignition/incinerator/atmos{ + pixel_x = 6; + pixel_y = 7 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/smooth, +/area/station/maintenance/disposal/incinerator) "mny" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -34657,6 +34149,13 @@ /obj/machinery/atmospherics/pipe/heat_exchanging/simple, /turf/open/floor/iron/dark/small, /area/station/tcommsat/server) +"mnA" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "mnI" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/broken_floor, @@ -34681,6 +34180,16 @@ }, /turf/open/floor/plating, /area/station/cargo/storage) +"mom" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Waste Hookup" + }, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/yellow/arrow_ccw, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "mos" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/iron/smooth, @@ -34697,17 +34206,6 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/circuit/green, /area/station/ai_monitored/command/nuke_storage) -"mpr" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/engineering{ - name = "Main Engine" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/small, -/area/station/engineering/main) "mpC" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -34720,6 +34218,14 @@ }, /turf/open/floor/wood/parquet, /area/station/service/library) +"mpE" = ( +/obj/machinery/light/cold/dim/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/sign/poster/official/moth_piping/directional/north, +/turf/open/floor/iron/small, +/area/station/engineering/break_room) "mpG" = ( /turf/open/floor/plating, /area/station/commons/storage/tools) @@ -34818,6 +34324,13 @@ }, /turf/open/floor/iron/dark, /area/station/commons/storage/tools) +"mrW" = ( +/obj/machinery/light/cold/directional/south, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "msg" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -34907,6 +34420,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"muy" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/dark, +/area/station/maintenance/department/engine/atmos) "muz" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -34925,6 +34443,12 @@ }, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"muM" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/small, +/area/station/hallway/primary/fore) "muS" = ( /turf/open/floor/iron/dark, /area/station/security/prison/workout) @@ -34938,6 +34462,19 @@ /obj/machinery/holopad, /turf/open/floor/glass/reinforced, /area/station/command/bridge) +"mvj" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood, +/area/station/engineering/atmos) +"mvn" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron, +/area/station/engineering/hallway) "mvo" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/telecomms/bus/preset_three, @@ -35033,15 +34570,6 @@ dir = 1 }, /area/station/science/xenobiology) -"mwI" = ( -/obj/machinery/door/airlock/engineering/glass/critical{ - heat_proof = 1; - name = "Supermatter Chamber" - }, -/obj/effect/turf_decal/bot, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "mwJ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -35072,6 +34600,18 @@ /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/central/lesser) +"mxa" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/turf/open/floor/glass/reinforced, +/area/station/command/bridge) +"mxc" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/wood, +/area/station/engineering/atmos) "mxe" = ( /obj/effect/turf_decal/siding/thinplating_new/terracotta, /obj/effect/turf_decal/siding/blue/corner{ @@ -35115,6 +34655,11 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/dorms) +"mxX" = ( +/obj/structure/transit_tube/curved/flipped, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "mya" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -35125,6 +34670,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"myi" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/smart/simple/brown/visible{ + dir = 6 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) +"mys" = ( +/obj/structure/lattice, +/obj/structure/transit_tube/diagonal, +/turf/open/space/basic, +/area/space/nearstation) "myt" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/item/kirbyplants/random/fullysynthetic, @@ -35281,6 +34838,13 @@ /obj/item/instrument/eguitar, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) +"mBq" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "mBC" = ( /obj/structure/sign/poster/official/soft_cap_pop_art/directional/north, /turf/open/floor/iron/grimy, @@ -35366,6 +34930,11 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/iron/small, /area/station/commons/fitness/locker_room) +"mCL" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "mCW" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -35380,6 +34949,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/execution/transfer) +"mDb" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "mDh" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -35412,15 +34988,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security) -"mDU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "mDW" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -35543,15 +35110,44 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"mFD" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/clothing/head/cone{ + pixel_x = -7; + pixel_y = 9 + }, +/obj/item/clothing/head/cone{ + pixel_x = -7; + pixel_y = 11 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "mFG" = ( /obj/machinery/telecomms/processor/preset_four, /obj/effect/decal/cleanable/dirt, /turf/open/floor/circuit, /area/station/tcommsat/server) +"mFL" = ( +/obj/structure/table, +/obj/effect/turf_decal/siding/thinplating_new/terracotta{ + dir = 1 + }, +/obj/item/wrench, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/department/engine/atmos) "mFP" = ( /obj/structure/cable, /turf/open/floor/eighties, /area/station/service/abandoned_gambling_den/gaming) +"mFZ" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Atmospherics - Turbine Entrance" + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "mGg" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -35575,12 +35171,41 @@ }, /turf/open/floor/carpet, /area/station/medical/psychology) +"mGn" = ( +/obj/structure/rack, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/item/clothing/gloves/color/fyellow{ + pixel_y = 2 + }, +/obj/item/wrench, +/obj/item/clothing/mask/cigarette/xeno{ + pixel_x = -3; + pixel_y = -9 + }, +/obj/item/clothing/head/utility/welding, +/turf/open/floor/iron/small, +/area/station/maintenance/department/engine/atmos) "mGp" = ( /obj/structure/table/glass, /obj/item/gun/ballistic/automatic/c20r/toy/unrestricted, /obj/machinery/light/small/directional/east, /turf/open/floor/eighties, /area/station/service/abandoned_gambling_den/gaming) +"mGr" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "mGu" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -35797,15 +35422,6 @@ dir = 1 }, /area/station/hallway/primary/aft) -"mKy" = ( -/obj/machinery/requests_console/directional/west{ - department = "Engineering"; - name = "Engineering Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/effect/mapping_helpers/requests_console/assistance, -/turf/open/floor/iron/stairs, -/area/station/engineering/break_room) "mKB" = ( /obj/machinery/navbeacon{ codes_txt = "delivery;dir=8"; @@ -35822,9 +35438,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"mKG" = ( -/turf/open/floor/plating/airless, -/area/station/engineering/supermatter/room) "mKH" = ( /obj/structure/disposalpipe/trunk{ dir = 1 @@ -35836,6 +35449,28 @@ /obj/machinery/disposal/bin, /turf/open/floor/iron/cafeteria, /area/station/service/cafeteria) +"mKK" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer5{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/engineering/atmos) +"mKV" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/oxygen_input{ + dir = 1 + }, +/turf/open/floor/engine/o2, +/area/station/engineering/atmos/space_catwalk) "mKY" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -35894,6 +35529,10 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/station/science/xenobiology) +"mLD" = ( +/obj/structure/cable, +/turf/closed/wall/r_wall, +/area/station/engineering/engine_smes) "mLF" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/broken_flooring/singular/directional/east, @@ -35960,6 +35599,13 @@ /obj/structure/broken_flooring/singular/directional/east, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"mMF" = ( +/obj/structure/sign/warning/pods/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) +"mMH" = ( +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "mMK" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 9 @@ -36086,6 +35732,12 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"mPe" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/maintenance/disposal/incinerator) "mPq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36136,6 +35788,13 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"mQm" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/smooth, +/area/station/maintenance/disposal/incinerator) "mQz" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/chair/office{ @@ -36143,12 +35802,6 @@ }, /turf/open/floor/iron/smooth, /area/station/command/bridge) -"mQB" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/closed/wall, -/area/station/maintenance/department/engine) "mQF" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -36165,22 +35818,6 @@ dir = 8 }, /area/station/command/heads_quarters/hos) -"mRl" = ( -/obj/machinery/door/airlock/engineering{ - name = "Smoke Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/textured_half{ - dir = 1 - }, -/area/station/maintenance/department/engine/atmos) "mRp" = ( /obj/effect/turf_decal/tile/red/opposingcorners{ dir = 1 @@ -36189,6 +35826,10 @@ /obj/structure/hedge, /turf/open/floor/iron/cafeteria, /area/station/service/cafeteria) +"mRA" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, +/turf/open/floor/iron/stairs/left, +/area/station/engineering/atmos) "mRD" = ( /obj/effect/turf_decal/bot_white, /obj/effect/spawner/random/maintenance, @@ -36203,35 +35844,55 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"mRT" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ +"mRY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 6 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) +"mSc" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/brown/visible{ dir = 10 }, -/turf/open/floor/iron/dark, -/area/station/engineering/supermatter/room) +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "mSi" = ( /obj/structure/mannequin/plastic, /turf/open/floor/plating, /area/station/cargo/boutique) -"mSq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/break_room) -"mSs" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/rack, -/obj/item/binoculars, -/obj/machinery/camera/directional/south, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "mSH" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"mSS" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer5{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer4{ + dir = 8 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "mTd" = ( /obj/structure/closet/crate{ name = "Starups Clothing Crate" @@ -36249,6 +35910,15 @@ /obj/structure/chair/stool/directional/north, /turf/open/floor/iron, /area/station/cargo/sorting) +"mTi" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/components/binary/pump{ + name = "Gas Port"; + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) "mTl" = ( /turf/closed/wall, /area/station/cargo/sorting) @@ -36270,6 +35940,10 @@ "mTs" = ( /turf/closed/wall/r_wall, /area/station/security/prison/work) +"mTt" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/turf/open/floor/engine, +/area/station/engineering/atmos) "mTy" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/tile/blue/full, @@ -36291,6 +35965,17 @@ "mTB" = ( /turf/closed/wall, /area/station/command/gateway) +"mTC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "mTM" = ( /obj/structure/cable, /turf/open/floor/circuit, @@ -36357,6 +36042,17 @@ /obj/structure/chair/stool/directional/west, /turf/open/floor/iron, /area/station/commons/fitness/recreation/entertainment) +"mUI" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/camera/directional/west{ + c_tag = "Engineering - North Corridor" + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "mUO" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -36438,15 +36134,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/security/prison/safe) -"mWN" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 9 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/components/trinary/filter/critical, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) +"mWs" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron/small, +/area/station/maintenance/department/engine) "mWY" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/structure/chair/sofa/bench/left{ @@ -36470,6 +36163,15 @@ /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron/dark/small, /area/station/medical/storage) +"mXx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "mXD" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 8 @@ -36567,6 +36269,13 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/grass, /area/station/science/xenobiology) +"mZb" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/mineral/titanium, +/area/station/command/heads_quarters/ce) "mZc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -36598,15 +36307,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"mZw" = ( -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=4"; - location = "Engineering" - }, -/obj/structure/plasticflaps/opaque, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/station/maintenance/department/engine) "mZA" = ( /obj/effect/mapping_helpers/airlock/abandoned, /obj/machinery/door/airlock/public/glass{ @@ -36639,14 +36339,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"naw" = ( -/obj/effect/turf_decal/siding/wideplating/dark/end{ - dir = 8 - }, -/obj/machinery/shower/directional/west, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/small, -/area/station/engineering/supermatter/room) "nay" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/airlock/public/glass{ @@ -36700,6 +36392,16 @@ }, /turf/open/floor/iron/smooth, /area/station/service/library) +"nbj" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/pump{ + name = "Cooling Loop Bypass"; + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/engineering/supermatter/room) "nbu" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/holopad, @@ -36746,6 +36448,19 @@ }, /turf/open/floor/plating, /area/station/service/janitor) +"nck" = ( +/obj/machinery/fax{ + fax_name = "Engineering Lobby"; + name = "Engineering Lobby Fax Machine"; + pixel_x = 2; + pixel_y = 3 + }, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/bot, +/obj/item/radio/intercom/directional/east, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/break_room) "ncl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36766,6 +36481,12 @@ /obj/effect/turf_decal/trimline/neutral/line, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"ncQ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "nde" = ( /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, @@ -36805,6 +36526,13 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/central/greater) +"neg" = ( +/obj/effect/spawner/random/structure/crate_loot, +/obj/effect/turf_decal/siding/thinplating_new/terracotta{ + dir = 9 + }, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/department/engine/atmos) "nei" = ( /obj/effect/turf_decal/tile/green/opposingcorners{ dir = 1 @@ -36819,6 +36547,27 @@ }, /turf/open/floor/wood/tile, /area/station/commons/vacant_room/commissary) +"neL" = ( +/obj/structure/closet/crate{ + name = "Materials Crate" + }, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/plasteel/fifty, +/obj/item/stack/sheet/plastic/five, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/titaniumglass/fifty, +/obj/item/stack/sheet/mineral/titanium/fifty, +/obj/item/stack/rods/fifty, +/obj/machinery/light/cold/dim/directional/west, +/turf/open/floor/iron/dark/small, +/area/station/engineering/storage_shared) +"neM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos) "neZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36950,6 +36699,40 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison) +"nha" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen/interrogation{ + dir = 8; + name = "isolation room monitor"; + network = list("isolation"); + pixel_x = 30 + }, +/obj/machinery/photobooth/security, +/turf/open/floor/iron, +/area/station/security/execution/transfer) +"nhe" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/landmark/navigate_destination, +/obj/effect/spawner/random/engineering/tracking_beacon, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos) "nhs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -36989,6 +36772,12 @@ }, /turf/open/floor/catwalk_floor/iron, /area/station/science/xenobiology) +"nhE" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron/smooth_edge, +/area/station/engineering/supermatter/room) "nhP" = ( /obj/item/storage/backpack/duffelbag/sec{ pixel_x = -15; @@ -37034,6 +36823,10 @@ /obj/machinery/vending/wardrobe/chem_wardrobe, /turf/open/floor/iron, /area/station/medical/chemistry) +"niv" = ( +/obj/machinery/portable_atmospherics/canister, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "niw" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -37056,15 +36849,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/medical/medbay/aft) -"niJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/airalarm/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/smooth_half{ - dir = 1 - }, -/area/station/maintenance/department/engine/atmos) "niR" = ( /obj/structure/chair, /obj/machinery/light/small/directional/north, @@ -37093,6 +36877,21 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/maintenance/aft) +"nje" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "njm" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -37106,6 +36905,21 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/wood/tile, /area/station/command/heads_quarters/hop) +"njH" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold/green/visible{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth_edge{ + dir = 1 + }, +/area/station/engineering/supermatter/room) "njL" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/broken_floor, @@ -37133,6 +36947,31 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/textured_half, /area/station/security) +"nki" = ( +/obj/structure/rack, +/obj/item/airlock_painter, +/obj/item/lightreplacer{ + pixel_y = 7 + }, +/obj/item/clothing/head/utility/hardhat/welding{ + pixel_x = -4; + pixel_y = -3 + }, +/obj/item/clothing/head/utility/hardhat/welding{ + pixel_x = -4 + }, +/obj/item/clothing/head/utility/hardhat/welding{ + pixel_x = -4; + pixel_y = 3 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/light/cold/dim/directional/west, +/obj/item/grenade/chem_grenade/smart_metal_foam{ + pixel_x = 9; + pixel_y = 5 + }, +/turf/open/floor/iron, +/area/station/engineering/main) "nkl" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -37148,6 +36987,17 @@ /obj/structure/barricade/wooden/crude, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"nkp" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/light/broken/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"nks" = ( +/turf/closed/wall/r_wall, +/area/station/engineering/atmos/space_catwalk) "nkw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/trimline/blue/filled/corner{ @@ -37188,6 +37038,10 @@ /obj/machinery/vending/wardrobe/sec_wardrobe, /turf/open/floor/iron/dark, /area/station/security/lockers) +"nli" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, +/turf/closed/wall/r_wall, +/area/station/engineering/hallway) "nlk" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -37222,6 +37076,12 @@ dir = 4 }, /area/station/science/xenobiology) +"nlI" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 5 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos) "nlQ" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, @@ -37237,11 +37097,21 @@ }, /turf/open/misc/sandy_dirt, /area/station/security/tram) +"nlZ" = ( +/turf/closed/wall/r_wall, +/area/station/engineering/lobby) "nmh" = ( /obj/effect/turf_decal/siding/green, /obj/machinery/light/cold/directional/south, /turf/open/floor/iron/dark/small, /area/station/medical/chemistry) +"nmi" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Engineering - Meeting Room" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/small, +/area/station/engineering/break_room) "nmy" = ( /obj/item/stack/sheet/cardboard{ pixel_x = -6; @@ -37253,12 +37123,22 @@ }, /turf/open/floor/iron, /area/station/commons) +"nmH" = ( +/obj/structure/railing, +/obj/effect/turf_decal/siding/wideplating, +/turf/open/floor/wood, +/area/station/engineering/main) "nmL" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_recreation) +"nmX" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/mineral/titanium, +/area/station/command/heads_quarters/ce) "nnc" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -37385,26 +37265,19 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) +"noU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor{ + id = "Secure Storage"; + name = "Secure Storage" + }, +/turf/open/floor/plating/rust, +/area/station/engineering/main) "npp" = ( /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/prison) -"npr" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/meter, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/corner, -/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"npy" = ( -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) "npA" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -37416,6 +37289,13 @@ /obj/effect/spawner/random/trash, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"npL" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Engine Coolant Bypass"; + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "npS" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -37453,6 +37333,26 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/white/small, /area/station/medical/virology) +"nqi" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new/corner{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos) +"nqx" = ( +/obj/machinery/power/turbine/turbine_outlet{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/maintenance/disposal/incinerator) "nqJ" = ( /obj/structure/sink/directional/south, /obj/effect/turf_decal/siding/wood, @@ -37471,6 +37371,13 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) +"nra" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/window/spawner/directional/south, +/obj/machinery/rnd/production/protolathe/department/engineering, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/station/engineering/main) "nry" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 8 @@ -37485,6 +37392,9 @@ }, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/supply) +"nsa" = ( +/turf/closed/wall, +/area/station/engineering/atmospherics_engine) "nsc" = ( /obj/structure/cable, /obj/item/kirbyplants/organic/applebush, @@ -37514,6 +37424,9 @@ }, /turf/open/floor/iron/small, /area/station/security/brig) +"nsy" = ( +/turf/closed/wall/r_wall/rust, +/area/station/engineering/hallway) "nsL" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/red{ @@ -37594,10 +37507,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"ntH" = ( -/obj/effect/spawner/random/trash, -/turf/open/floor/iron/small, -/area/station/maintenance/department/engine) "ntJ" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating, @@ -37672,6 +37581,13 @@ }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) +"nuu" = ( +/obj/machinery/incident_display/delam/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/engineering/break_room) "nuv" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -37773,15 +37689,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/dorms) -"nwg" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/camera/directional/south, -/obj/machinery/status_display/evac/directional/south, -/turf/open/floor/iron, -/area/station/commons/dorms) "nwj" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -37838,6 +37745,11 @@ /obj/machinery/keycard_auth/directional/south, /turf/open/floor/wood, /area/station/command/heads_quarters/qm) +"nxO" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/turf/open/floor/plating, +/area/station/engineering/atmos) "nxR" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -37900,21 +37812,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"nyt" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=20.0-CentralPort-Bar"; - location = "19.0-Engineering-CentralPort" - }, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "nyx" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -38077,19 +37974,17 @@ }, /turf/open/floor/iron/white, /area/station/commons/dorms) -"nAS" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "nAW" = ( /obj/machinery/washing_machine, /obj/machinery/light/small/directional/east, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white, /area/station/commons/dorms) +"nBd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "nBq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -38129,14 +38024,13 @@ /obj/effect/turf_decal/trimline/neutral/line, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"nBP" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ +"nBM" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +/turf/open/floor/plating, +/area/station/engineering/atmos/pumproom) "nCo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/chair/office{ @@ -38144,6 +38038,15 @@ }, /turf/open/floor/iron, /area/station/construction/mining/aux_base) +"nCC" = ( +/obj/structure/chair/stool/directional/south, +/obj/effect/turf_decal/siding/yellow{ + dir = 5 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/wood, +/area/station/engineering/break_room) "nCH" = ( /turf/closed/wall/r_wall, /area/station/security) @@ -38225,6 +38128,11 @@ /obj/item/screwdriver, /turf/open/floor/iron, /area/station/construction/mining/aux_base) +"nEa" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "nEd" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt, @@ -38267,6 +38175,9 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_command) +"nEz" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/station/maintenance/department/engine/atmos) "nEA" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 @@ -38281,6 +38192,26 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/cytology) +"nEL" = ( +/obj/structure/transit_tube/station/dispenser/reverse/flipped{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"nEN" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/structure/railing/corner, +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 10 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "nEY" = ( /obj/structure/closet/firecloset, /obj/effect/decal/cleanable/dirt, @@ -38432,6 +38363,22 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/grass, /area/station/medical/virology) +"nGm" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) +"nGt" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/window/reinforced/plasma/spawner/directional/west, +/obj/structure/cable, +/obj/machinery/power/energy_accumulator/grounding_rod/anchored, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "nGu" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -38462,6 +38409,38 @@ /obj/structure/table, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"nGP" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) +"nHd" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"nHq" = ( +/obj/structure/table/reinforced, +/obj/item/folder/yellow{ + pixel_x = 13; + pixel_y = 1 + }, +/obj/item/flashlight/lamp{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/clothing/ears/earmuffs{ + pixel_x = 15; + pixel_y = 7 + }, +/turf/open/floor/wood, +/area/station/engineering/break_room) "nHt" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -38498,6 +38477,25 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron, /area/station/commons/storage/art) +"nHP" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 6 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) +"nHR" = ( +/obj/machinery/atmospherics/components/tank/plasma, +/obj/machinery/camera/directional/north{ + c_tag = "Engineering Turbine" + }, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "nId" = ( /turf/open/floor/circuit/green, /area/station/ai_monitored/command/nuke_storage) @@ -38543,6 +38541,27 @@ }, /turf/open/floor/iron/dark/small, /area/station/medical/virology) +"nIK" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 6 + }, +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/turf/open/space/basic, +/area/space/nearstation) +"nIL" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/item/clothing/head/cone{ + pixel_x = 24; + pixel_y = 2 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "nIS" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/airlock{ @@ -38699,9 +38718,14 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/construction, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"nMU" = ( -/turf/closed/wall/r_wall/rust, -/area/station/maintenance/disposal/incinerator) +"nMQ" = ( +/obj/machinery/computer/atmos_control/oxygen_tank{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/poster/official/random/directional/east, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/office) "nMW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/firedoor, @@ -38798,13 +38822,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/textured_half, /area/station/commons/dorms) -"nOI" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron/small, -/area/station/engineering/atmos) "nPc" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt, @@ -38851,11 +38868,35 @@ dir = 1 }, /area/station/hallway/secondary/dock) +"nPA" = ( +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/helium_output{ + dir = 8 + }, +/turf/open/floor/engine/n2o, +/area/station/ai_monitored/turret_protected/ai) +"nPF" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "nPH" = ( /obj/structure/closet/secure_closet/brig, /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, /area/station/security/execution/transfer) +"nPM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "nPO" = ( /obj/effect/turf_decal/siding/thinplating_new{ dir = 1 @@ -38893,6 +38934,13 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/iron/dark, /area/station/security/prison/safe) +"nQk" = ( +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/machinery/door/airlock/maintenance{ + name = "Transit Tube Station" + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "nQo" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/purple/opposingcorners, @@ -38903,6 +38951,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/cafeteria, /area/station/science/circuits) +"nQs" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/maintenance/department/engine/atmos) "nQx" = ( /obj/structure/table, /obj/item/stack/cable_coil, @@ -38916,6 +38973,42 @@ /obj/structure/barricade/wooden, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"nQB" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth, +/area/station/engineering/break_room) +"nQC" = ( +/obj/item/toy/plush/shark{ + name = "Sir Vesk"; + desc = "This radical looking plushie has some radical air-sufing fins. He loves to turn vents on and ride the pressure-wave. Duuuuuuuude. Way cool.." + }, +/obj/machinery/atmospherics/pipe/smart/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plating/elevatorshaft, +/area/station/engineering/atmos/office) +"nQE" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/holopad, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/small, +/area/station/engineering/break_room) "nQP" = ( /obj/machinery/computer/security{ dir = 8 @@ -38956,12 +39049,26 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/tcommsat/server) +"nRA" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/wood, +/area/station/engineering/break_room) "nRP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/dark_red/half/contrasted, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs) +"nSd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "nSo" = ( /obj/machinery/igniter/incinerator_atmos, /turf/open/floor/engine, @@ -38976,11 +39083,6 @@ /obj/effect/decal/cleanable/blood/gibs/limb, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) -"nSz" = ( -/obj/structure/closet/secure_closet/engineering_welding, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/small, -/area/station/engineering/atmos) "nSA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral{ @@ -39100,6 +39202,10 @@ }, /turf/open/floor/iron/small, /area/station/medical/morgue) +"nTK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "nUi" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -39131,6 +39237,27 @@ }, /turf/open/floor/iron/smooth, /area/station/cargo/warehouse) +"nUB" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer5{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/brown/visible, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "nUG" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -39148,6 +39275,12 @@ }, /turf/open/floor/iron/dark/small, /area/station/security/checkpoint/customs) +"nVe" = ( +/obj/machinery/door/window/right/directional/north, +/obj/effect/turf_decal/stripes/white/full, +/obj/machinery/light/small/directional/east, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "nVg" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -39238,6 +39371,25 @@ /obj/structure/hedge, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"nWE" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer5{ + dir = 9 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "nWO" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -39274,6 +39426,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/restrooms) +"nXC" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/structure/sign/poster/official/random/directional/north, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/turf_decal/stripes/box, +/turf/open/floor/iron/small, +/area/station/engineering/break_room) "nXP" = ( /obj/machinery/airalarm/directional/east, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -39319,19 +39479,35 @@ /obj/structure/bed/maint, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"nYD" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer5{ + dir = 4 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) +"nYP" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "nYQ" = ( /obj/machinery/vending/wardrobe/cargo_wardrobe, /obj/machinery/camera/autoname/directional/south, /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/cargo/office) -"nZg" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/half, -/area/station/hallway/primary/central/fore) "nZh" = ( /obj/structure/table, /obj/item/stock_parts/scanning_module{ @@ -39420,6 +39596,21 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload_foyer) +"oaB" = ( +/obj/machinery/holopad, +/obj/effect/landmark/start/station_engineer, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth_edge{ + dir = 1 + }, +/area/station/engineering/supermatter/room) +"oaJ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/turf_decal/stripes/white/line{ + dir = 9 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "oaV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -39431,6 +39622,21 @@ dir = 1 }, /area/station/hallway/primary/central/fore) +"obd" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 10 + }, +/obj/structure/cable, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"obe" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/break_room) "obm" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -39472,6 +39678,10 @@ /obj/structure/reagent_dispensers/plumbed, /turf/open/floor/plating, /area/station/maintenance/central/greater) +"obW" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "ocb" = ( /turf/open/floor/iron/white/small, /area/station/science/cubicle) @@ -39505,6 +39715,10 @@ /obj/effect/landmark/navigate_destination/disposals, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) +"odh" = ( +/obj/effect/landmark/atmospheric_sanity/ignore_area, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "odk" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -39519,6 +39733,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/central/greater) +"odE" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/power/emitter{ + dir = 1 + }, +/obj/effect/decal/cleanable/leaper_sludge, +/turf/open/floor/plating/rust, +/area/station/engineering/supermatter/room) "odK" = ( /obj/structure/cable, /obj/structure/steam_vent, @@ -39540,11 +39764,11 @@ }, /turf/open/floor/iron/dark, /area/station/cargo/storage) -"oer" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple, -/turf/open/space/basic, -/area/space/nearstation) +"oet" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/main) "oev" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -39621,16 +39845,6 @@ }, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical/central) -"ofS" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/arrow_cw{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "ofZ" = ( /turf/closed/mineral/random/stationside, /area/station/maintenance/port/lesser) @@ -39662,16 +39876,6 @@ }, /turf/open/floor/iron/white/small, /area/station/medical/storage) -"ogB" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 6 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "ogF" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/closet/firecloset, @@ -39849,6 +40053,14 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/entry) +"oii" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "ois" = ( /obj/effect/turf_decal/siding/white{ dir = 6 @@ -39926,11 +40138,38 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron/white, /area/station/commons/dorms) +"ojz" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/engineering/main) "ojD" = ( /obj/structure/cable, /obj/machinery/light/floor, /turf/open/floor/iron/dark, /area/station/security/lockers) +"ojK" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing/corner, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/space/basic, +/area/space/nearstation) "ojU" = ( /obj/structure/rack, /obj/machinery/light/small/directional/south, @@ -39938,6 +40177,36 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white, /area/station/commons/dorms) +"ojW" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/frame/machine, +/obj/item/circuitboard/machine/mass_driver, +/obj/item/stock_parts/matter_bin{ + pixel_x = 9; + pixel_y = 8 + }, +/obj/item/stock_parts/micro_laser/high{ + pixel_x = -6; + pixel_y = -5 + }, +/obj/item/stock_parts/servo/femto{ + pixel_y = 8; + pixel_x = -11 + }, +/obj/effect/decal/cleanable/glass, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/engineering/atmos/office) +"okg" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "okl" = ( /obj/machinery/status_display/ai, /turf/closed/wall, @@ -39952,6 +40221,18 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/textured_half, /area/station/service/library) +"okt" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/atmos{ + name = "Atmospherics Control" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos) "okz" = ( /obj/structure/table, /obj/effect/spawner/random/maintenance, @@ -39986,6 +40267,15 @@ }, /turf/open/floor/catwalk_floor/iron_dark, /area/station/science/ordnance) +"olj" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "olm" = ( /obj/structure/table, /obj/item/mining_voucher, @@ -40029,12 +40319,6 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/station/science/lower) -"omJ" = ( -/obj/machinery/power/smes/engineering, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/engineering/engine_smes) "omW" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/iron/white/corner, @@ -40042,6 +40326,13 @@ "ona" = ( /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"onb" = ( +/obj/machinery/atmospherics/components/unary/passive_vent{ + name = "Engine Exhaust" + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "ono" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -40056,6 +40347,18 @@ }, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) +"onv" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/engineering/hallway) "onw" = ( /obj/effect/turf_decal/tile/red{ dir = 4 @@ -40109,6 +40412,15 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark/small, /area/station/security/brig) +"ooe" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/engineering/atmos) "oom" = ( /obj/structure/cable, /obj/machinery/door/airlock{ @@ -40157,11 +40469,24 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) +"opc" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing, +/obj/machinery/light/floor, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "opn" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/small, /area/station/command/teleporter) +"opo" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "opq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -40271,6 +40596,9 @@ /obj/effect/turf_decal/tile/dark_red/half/contrasted, /turf/open/floor/iron, /area/station/security/execution/transfer) +"orb" = ( +/turf/closed/wall, +/area/station/engineering/main) "orC" = ( /obj/structure/cable, /turf/open/floor/iron/smooth, @@ -40283,14 +40611,23 @@ /obj/structure/sign/clock/directional/north, /turf/open/floor/iron/smooth_large, /area/station/service/bar) -"orV" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ +"orY" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +/obj/structure/railing{ + dir = 8 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) +"osa" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) "osf" = ( /obj/structure/cable, /obj/effect/mapping_helpers/broken_floor, @@ -40331,6 +40668,20 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) +"osu" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/space/basic, +/area/space/nearstation) "osy" = ( /obj/effect/turf_decal/siding/white{ dir = 8 @@ -40343,17 +40694,16 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"osE" = ( -/obj/machinery/shower/directional/south{ - name = "emergency shower" +"osT" = ( +/obj/structure/railing, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 6 +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/iron/stairs/old{ + dir = 8 }, -/obj/machinery/light/small/directional/east, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/iron/smooth_half, -/area/station/engineering/atmos) +/area/station/engineering/break_room) "osY" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/broken_flooring/corner/directional/south, @@ -40430,6 +40780,13 @@ dir = 1 }, /area/station/command/corporate_suite) +"oua" = ( +/obj/structure/lattice, +/obj/structure/transit_tube/horizontal{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) "ouf" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -40519,6 +40876,17 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/central/lesser) +"ovt" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "ovA" = ( /obj/structure/closet/emcloset, /turf/open/floor/iron, @@ -40530,6 +40898,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) +"ovM" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = -2; + pixel_y = 6 + }, +/obj/structure/sign/departments/telecomms/directional/south, +/turf/open/floor/iron, +/area/station/science/lobby) "ovQ" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, @@ -40544,6 +40921,11 @@ dir = 1 }, /area/station/command/gateway) +"owd" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/engineering/hallway) "owl" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -40602,17 +40984,25 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"oxb" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/poddoor/preopen{ - id = "atmos"; - name = "Atmospherics Blast Door" +"owZ" = ( +/obj/item/kirbyplants/organic/applebush, +/turf/open/floor/iron/dark/smooth_large, +/area/station/command/bridge) +"oxc" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/cup/glass/mug/coco{ + pixel_x = 5; + pixel_y = 10 }, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ - dir = 10 +/obj/item/reagent_containers/cup/glass/mug/coco{ + pixel_x = 13; + pixel_y = 6 }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +/obj/item/food/pizzaslice/sassysage{ + pixel_y = 4 + }, +/turf/open/floor/wood, +/area/station/engineering/break_room) "oxw" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/white/line{ @@ -40631,13 +41021,6 @@ /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron, /area/station/hallway/secondary/spacebridge) -"oyx" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "oyA" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -40663,6 +41046,12 @@ /obj/item/pai_card, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) +"oyU" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/small, +/area/station/hallway/primary/fore) "oyW" = ( /obj/machinery/telecomms/bus/preset_two, /obj/machinery/camera/autoname/directional/west, @@ -40694,6 +41083,22 @@ /obj/structure/reagent_dispensers/plumbed, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"ozz" = ( +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/engine/air, +/area/station/engineering/atmos/space_catwalk) +"ozM" = ( +/obj/structure/railing, +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/floor, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "ozO" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -40793,6 +41198,12 @@ /obj/structure/alien/weeds/node, /turf/open/misc/asteroid, /area/station/maintenance/starboard/greater) +"oBk" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer5, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer4, +/turf/open/space/basic, +/area/space/nearstation) "oBm" = ( /obj/structure/chair/sofa/bench/left, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -40856,15 +41267,6 @@ /obj/effect/spawner/random/techstorage/medical_all, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"oCi" = ( -/obj/structure/safe/vault, -/obj/item/lazarus_injector, -/obj/effect/turf_decal/bot_white, -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 4 - }, -/turf/open/floor/iron/dark/herringbone, -/area/station/ai_monitored/command/nuke_storage) "oCq" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -40876,6 +41278,16 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"oCE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) +"oCF" = ( +/obj/machinery/air_sensor/helium_tank, +/turf/open/floor/engine/helium, +/area/station/ai_monitored/turret_protected/ai) "oCG" = ( /turf/closed/wall/rust, /area/station/cargo/bitrunning/den) @@ -40890,6 +41302,12 @@ /obj/machinery/light/floor, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"oDa" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "oDc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -40912,6 +41330,13 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"oDE" = ( +/obj/structure/lattice, +/obj/machinery/camera/directional/south{ + c_tag = "Atmospherics - North Exterior" + }, +/turf/open/space/basic, +/area/space/nearstation) "oDK" = ( /obj/structure/cable, /obj/machinery/door/airlock{ @@ -40949,6 +41374,13 @@ /obj/structure/holosign/barrier/atmos/tram, /turf/open/floor/tram, /area/station/security/tram) +"oEb" = ( +/obj/structure/table/reinforced/titaniumglass, +/obj/item/reagent_containers/cup/beaker/oldstation{ + pixel_y = 5 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "oEi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, @@ -40965,6 +41397,26 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"oEt" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/requests_console/directional/north{ + department = "Chief Engineer's Desk"; + name = "Chief Engineer's Requests Console"; + pixel_y = -32 + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/information, +/turf/open/floor/iron/stairs/old{ + dir = 4 + }, +/area/station/command/heads_quarters/ce) "oEB" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/box/red/corners{ @@ -40993,13 +41445,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/central/greater) -"oES" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/machinery/air_sensor/engine_chamber, -/turf/open/floor/engine, -/area/station/engineering/supermatter) +"oFc" = ( +/obj/effect/spawner/random/trash, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/small, +/area/station/maintenance/department/electrical) "oFf" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/east, @@ -41027,18 +41477,6 @@ /obj/structure/window/spawner/directional/west, /turf/open/floor/plating, /area/station/cargo/sorting) -"oFm" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/break_room) "oFu" = ( /turf/closed/wall, /area/station/security/office) @@ -41074,6 +41512,11 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/commons/dorms) +"oGn" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/obj/machinery/atmospherics/pipe/layer_manifold/visible, +/turf/open/floor/plating, +/area/station/engineering/atmos/space_catwalk) "oGq" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white/small, @@ -41143,10 +41586,33 @@ dir = 1 }, /area/station/security/execution/transfer) +"oHO" = ( +/obj/structure/chair/plastic{ + dir = 1 + }, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) +"oIf" = ( +/obj/effect/turf_decal/sand/plating, +/obj/machinery/modular_computer/preset/engineering{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/small, +/area/station/maintenance/department/electrical) "oIk" = ( /obj/structure/table, /turf/open/floor/iron, /area/station/commons) +"oIF" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/decal/cleanable/insectguts, +/turf/open/floor/plating, +/area/station/engineering/atmos/storage/gas) "oIK" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 @@ -41184,6 +41650,17 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) +"oJl" = ( +/obj/machinery/door/airlock/engineering{ + name = "Main Engineering" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/engineering/construction, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/turf/open/floor/catwalk_floor, +/area/station/engineering/break_room) "oJn" = ( /obj/structure/cable, /obj/structure/disposalpipe/sorting/mail{ @@ -41348,6 +41825,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"oLN" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/tank_dispenser, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plating, +/area/station/engineering/atmos/office) "oLV" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -41390,6 +41873,11 @@ /obj/machinery/light/cold/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/port) +"oMI" = ( +/obj/effect/decal/cleanable/dirt, +/mob/living/basic/slime, +/turf/open/floor/engine, +/area/station/science/xenobiology) "oNd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/siding/blue/corner{ @@ -41399,13 +41887,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white/small, /area/station/medical/storage) -"oNn" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ - dir = 8 - }, -/obj/effect/spawner/structure/window/reinforced/plasma, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) "oNv" = ( /obj/effect/turf_decal/tile/dark_red/anticorner/contrasted{ dir = 1 @@ -41522,6 +42003,10 @@ }, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai_upload) +"oPg" = ( +/obj/machinery/air_sensor/mix_tank, +/turf/open/floor/engine/airless, +/area/station/engineering/atmos) "oPi" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -41626,6 +42111,19 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/cargo/storage) +"oQs" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/junction{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/hallway) "oQF" = ( /turf/closed/wall/r_wall, /area/station/security/execution/transfer) @@ -41643,6 +42141,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/commons/storage/tools) +"oRj" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow/diagonal_centre, +/obj/structure/disposalpipe/sorting/mail, +/obj/effect/mapping_helpers/mail_sorting/engineering/ce_office, +/turf/open/floor/iron/diagonal, +/area/station/engineering/lobby) "oRm" = ( /obj/effect/landmark/atmospheric_sanity/ignore_area, /turf/closed/mineral/random/stationside, @@ -41727,12 +42234,25 @@ }, /turf/open/floor/iron/smooth, /area/station/command/bridge) +"oSw" = ( +/obj/structure/filingcabinet/chestdrawer, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "oSx" = ( /obj/effect/turf_decal/siding/red, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/storage) +"oSF" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, +/obj/structure/reagent_dispensers/watertank/high, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "oSG" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/secure_closet/research_director, @@ -41799,6 +42319,11 @@ }, /turf/open/floor/iron/dark, /area/station/science/genetics) +"oTY" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/tank_holder/extinguisher/advanced, +/turf/open/floor/iron, +/area/station/engineering/atmos) "oTZ" = ( /obj/structure/table, /turf/open/floor/plating, @@ -41810,6 +42335,17 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) +"oUq" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "oUx" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -41820,6 +42356,12 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"oUz" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/cable, +/obj/structure/sign/warning/electric_shock/directional/west, +/turf/open/floor/plating, +/area/station/engineering/engine_smes) "oUB" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -41861,6 +42403,14 @@ dir = 8 }, /area/station/maintenance/port/greater) +"oUS" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/smart/simple/supply/visible/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "oUY" = ( /obj/structure/cable, /obj/machinery/power/terminal{ @@ -41877,6 +42427,19 @@ /obj/structure/broken_flooring/singular/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"oVt" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/light/cold/dim/directional/west, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) +"oVF" = ( +/mob/living/basic/mining/lobstrosity, +/turf/open/misc/asteroid/airless, +/area/station/maintenance/department/engine) "oVK" = ( /obj/structure/chair{ pixel_y = -2 @@ -41938,6 +42501,12 @@ /obj/machinery/atmospherics/pipe/heat_exchanging/simple, /turf/open/floor/iron/dark/small, /area/station/tcommsat/server) +"oWE" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/sign/warning/engine_safety/directional/east, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "oXe" = ( /obj/effect/mapping_helpers/broken_floor, /obj/machinery/duct, @@ -41994,6 +42563,14 @@ /obj/machinery/vending/dinnerware, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) +"oYv" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/half{ + dir = 8 + }, +/area/station/engineering/main) "oYy" = ( /obj/structure/chair/comfy/beige{ dir = 8 @@ -42007,12 +42584,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/central/lesser) -"oYJ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/layer_manifold/yellow/visible, -/turf/open/floor/plating, -/area/station/engineering/atmos) "oYL" = ( /obj/structure/disposalpipe/trunk{ dir = 1 @@ -42041,13 +42612,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) -"oZg" = ( -/obj/effect/spawner/structure/window/reinforced/plasma, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/engineering/supermatter) "oZi" = ( /obj/effect/turf_decal/siding/wideplating/dark/corner, /obj/effect/turf_decal/tile/dark_red/half/contrasted{ @@ -42098,18 +42662,12 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/construction/mining/aux_base) -"oZS" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/arrow_cw{ - dir = 4 +"oZQ" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 1 }, /obj/structure/cable, -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 5 - }, /turf/open/floor/iron/smooth, /area/station/engineering/supermatter/room) "oZY" = ( @@ -42154,6 +42712,19 @@ /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/central/greater) +"paW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ + dir = 8 + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) +"paX" = ( +/obj/structure/chair/bronze{ + dir = 8 + }, +/obj/effect/landmark/start/chief_engineer, +/turf/open/floor/catwalk_floor/titanium, +/area/station/command/heads_quarters/ce) "pbd" = ( /obj/effect/turf_decal/tile/red/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -42167,13 +42738,37 @@ }, /turf/open/floor/iron/smooth, /area/station/service/greenroom) -"pbt" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 5 +"pbj" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/engine, -/area/station/engineering/supermatter) +/obj/machinery/light/cold/directional/north, +/obj/effect/turf_decal/stripes/end{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 1 + }, +/obj/structure/cable, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron/smooth_edge{ + dir = 1 + }, +/area/station/engineering/supermatter/room) +"pbl" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "pbu" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -42203,6 +42798,14 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/smooth, /area/station/service/greenroom) +"pbT" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "pcb" = ( /obj/effect/turf_decal/tile/dark_red{ dir = 4 @@ -42259,6 +42862,14 @@ /obj/structure/thermoplastic/light, /turf/open/floor/tram, /area/station/maintenance/port/aft) +"pdh" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, +/turf/open/floor/plating, +/area/station/engineering/supermatter) "pds" = ( /obj/structure/cable, /obj/machinery/holopad, @@ -42345,6 +42956,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/cargo/drone_bay) +"pek" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "pep" = ( /obj/structure/cable, /obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ @@ -42370,14 +42987,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"peI" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "peN" = ( /obj/structure/lattice, /obj/machinery/camera/motion/directional/north{ @@ -42391,6 +43000,17 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron/small, /area/station/maintenance/port/lesser) +"peW" = ( +/obj/effect/turf_decal/siding/dark{ + dir = 5 + }, +/obj/machinery/camera/emp_proof{ + c_tag = "Engineering - Atmospherics Nitrous Chamber"; + dir = 9; + network = list("ss13","engineering") + }, +/turf/open/floor/engine/co2, +/area/station/engineering/atmos/space_catwalk) "pfd" = ( /obj/effect/turf_decal/stripes/white/corner{ dir = 1 @@ -42407,6 +43027,30 @@ /obj/effect/gibspawner, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) +"pft" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron, +/area/station/engineering/hallway) +"pfu" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "pfv" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -42424,6 +43068,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"pfx" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/layer_manifold/visible{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/engineering/atmos) "pfC" = ( /obj/effect/turf_decal/siding/thinplating_new/terracotta{ dir = 5 @@ -42435,6 +43086,24 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/small, /area/station/ai_monitored/command/storage/eva) +"pfD" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos) "pfO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/camera/directional/east, @@ -42454,21 +43123,6 @@ dir = 8 }, /area/station/service/bar/backroom) -"pgh" = ( -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/table/reinforced/titaniumglass, -/obj/machinery/computer/records/security/laptop{ - dir = 8; - pixel_x = 10; - pixel_y = 4 - }, -/obj/machinery/recharger{ - pixel_x = -5; - pixel_y = 4 - }, -/obj/structure/reagent_dispensers/wall/peppertank/directional/north, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "pgq" = ( /obj/structure/chair/stool/directional/north, /obj/effect/turf_decal/siding/wood{ @@ -42477,6 +43131,15 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron/small, /area/station/security/prison/shower) +"pgr" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/small, +/area/station/engineering/supermatter/room) "pgw" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -42502,22 +43165,11 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood/parquet, /area/station/service/library) -"pgO" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/yellow/arrow_cw{ - dir = 1 - }, -/turf/open/floor/iron/smooth_corner{ - dir = 4 - }, -/area/station/maintenance/disposal/incinerator) +"pgU" = ( +/obj/structure/steam_vent, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "pgW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -42534,12 +43186,42 @@ /obj/machinery/duct, /turf/open/floor/iron/white/small, /area/station/medical/storage) +"phC" = ( +/obj/machinery/light/cold/dim/directional/west, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/sign/directions/security/directional/west{ + dir = 2 + }, +/obj/structure/sign/directions/science/directional/west{ + pixel_y = 8; + dir = 10 + }, +/obj/structure/sign/directions/upload/directional/west{ + pixel_y = -8; + dir = 10 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "phE" = ( /obj/machinery/holopad, /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white/small, /area/station/service/hydroponics/garden) +"phY" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/break_room) "phZ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -42595,6 +43277,13 @@ /obj/effect/landmark/start/chemist, /turf/open/floor/iron/dark/small, /area/station/medical/chemistry) +"piL" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "piM" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -42604,25 +43293,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, /area/station/commons/dorms) -"piT" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/machinery/atmospherics/components/binary/valve/digital{ - name = "Waste Release" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/directional/south{ - c_tag = "Atmospherics - Secondary" - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/dark/side{ - dir = 5 - }, -/area/station/engineering/atmos) "piZ" = ( /obj/structure/chair/sofa/right/maroon{ dir = 1 @@ -42706,6 +43376,12 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) +"pkd" = ( +/obj/machinery/door/window/right/directional/south, +/obj/effect/turf_decal/stripes/white/full, +/obj/machinery/light/small/directional/east, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "pke" = ( /obj/machinery/door/airlock/centcom{ name = "Disposals Access:" @@ -42725,6 +43401,11 @@ }, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"pkB" = ( +/obj/item/kirbyplants/random, +/obj/item/weldingtool, +/turf/open/floor/iron/dark, +/area/station/maintenance/department/engine/atmos) "pkE" = ( /obj/effect/turf_decal/siding/wood{ dir = 9 @@ -42791,12 +43472,6 @@ }, /turf/open/floor/wood/tile, /area/station/service/lawoffice) -"plU" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/smes/full, -/turf/open/floor/plating, -/area/station/maintenance/department/prison) "plZ" = ( /obj/structure/table/wood, /obj/effect/turf_decal/siding/wood{ @@ -42812,6 +43487,17 @@ }, /turf/open/floor/wood/tile, /area/station/service/lawoffice) +"pmg" = ( +/obj/structure/table/reinforced/titaniumglass, +/obj/effect/turf_decal/bot, +/obj/item/folder/yellow, +/obj/item/computer_disk/engineering, +/obj/item/phone{ + pixel_x = -6; + pixel_y = 7 + }, +/turf/open/floor/catwalk_floor/titanium, +/area/station/command/heads_quarters/ce) "pmn" = ( /obj/structure/chair/comfy/beige{ dir = 4 @@ -42835,6 +43521,21 @@ }, /turf/open/floor/iron/smooth_large, /area/station/science/auxlab/firing_range) +"pmA" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/break_room) +"pmE" = ( +/obj/effect/turf_decal/tile/yellow/diagonal_centre, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron/diagonal, +/area/station/engineering/lobby) "pmN" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -42851,6 +43552,9 @@ /obj/machinery/computer/security/telescreen/entertainment/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"pnl" = ( +/turf/closed/wall/r_wall, +/area/station/maintenance/department/electrical) "pnn" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -42870,10 +43574,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"pnM" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "pnQ" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 6 @@ -42962,6 +43662,16 @@ }, /turf/open/floor/iron/textured_large, /area/station/security/checkpoint/escape) +"poL" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/scrubber, +/obj/effect/turf_decal/stripes/red/end{ + dir = 1 + }, +/turf/open/floor/iron/dark/small, +/area/station/hallway/primary/fore) "poM" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -42985,6 +43695,14 @@ /obj/effect/turf_decal/siding/wideplating/dark/corner, /turf/open/floor/iron, /area/station/security) +"poV" = ( +/obj/effect/turf_decal/siding/wideplating, +/obj/machinery/camera/directional/west{ + dir = 10; + c_tag = "Atmospherics - Control" + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/office) "ppk" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -43012,6 +43730,16 @@ /obj/structure/cable, /turf/open/floor/iron/white/small, /area/station/command/heads_quarters/cmo) +"ppr" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/reflector/single{ + dir = 9 + }, +/turf/open/space/basic, +/area/space/nearstation) "pps" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/window/spawner/directional/north, @@ -43069,6 +43797,25 @@ "pqm" = ( /turf/closed/wall/r_wall, /area/station/engineering/storage/tcomms) +"pqo" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/incident_display/delam/directional/north, +/obj/effect/turf_decal/trimline/yellow/arrow_ccw{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth_edge{ + dir = 1 + }, +/area/station/engineering/supermatter/room) "pqs" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -43087,12 +43834,13 @@ /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"pqJ" = ( -/obj/machinery/atmospherics/pipe/smart/simple/pink/visible{ - dir = 6 - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/station/engineering/supermatter) +"pqH" = ( +/obj/structure/closet/firecloset, +/obj/item/clothing/glasses/meson, +/obj/item/radio/intercom/directional/east, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/engineering/break_room) "pqK" = ( /obj/structure/cable, /obj/machinery/door/window/left/directional/south, @@ -43141,6 +43889,9 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/iron/dark, /area/station/security/prison/safe) +"prI" = ( +/turf/closed/wall, +/area/station/engineering/hallway) "prQ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -43149,6 +43900,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) +"prV" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 8 + }, +/obj/effect/landmark/start/station_engineer, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/station/engineering/supermatter/room) "prW" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 8 @@ -43182,6 +43942,19 @@ dir = 1 }, /area/station/science/auxlab/firing_range) +"pss" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) "psI" = ( /obj/structure/table, /obj/effect/turf_decal/tile/blue/full, @@ -43203,6 +43976,30 @@ }, /turf/open/floor/iron/white/textured_large, /area/station/medical/medbay/lobby) +"psL" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/light/cold/dim/directional/east, +/obj/machinery/newscaster/directional/east, +/obj/structure/cable, +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = 5; + pixel_y = 19 + }, +/obj/item/pen{ + pixel_x = 5; + pixel_y = 20 + }, +/obj/machinery/cell_charger{ + pixel_x = 2; + pixel_y = 1 + }, +/obj/item/stock_parts/cell/high{ + pixel_x = 2; + pixel_y = 2 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/break_room) "psP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -43249,6 +44046,12 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/stone, /area/station/command/corporate_suite) +"ptz" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/iron, +/area/station/engineering/atmos/space_catwalk) "ptN" = ( /obj/structure/table/reinforced/plastitaniumglass, /obj/item/toy/talking/griffin{ @@ -43339,6 +44142,21 @@ /obj/machinery/digital_clock/directional/north, /turf/open/floor/wood/tile, /area/station/service/bar) +"puI" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 1 + }, +/obj/machinery/door/airlock/external/glass{ + name = "North Tanks Airlock" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plating, +/area/station/engineering/atmos/space_catwalk) "puN" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron/grimy, @@ -43354,20 +44172,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/security/brig/entrance) -"pvg" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/arrow_cw{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 10 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "pvt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, @@ -43377,6 +44181,18 @@ /obj/structure/chair/office, /turf/open/floor/plating, /area/station/service/library/abandoned) +"pvE" = ( +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 + }, +/obj/structure/chair/plastic{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/office) "pvF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -43385,6 +44201,17 @@ dir = 4 }, /area/station/science/research) +"pvP" = ( +/obj/structure/railing/corner, +/obj/effect/turf_decal/siding/thinplating_new/corner, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos) "pvR" = ( /obj/structure/table/wood, /obj/machinery/light_switch/directional/south, @@ -43435,6 +44262,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) +"pwv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/closed/wall, +/area/station/engineering/atmos) "pww" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -43456,6 +44287,15 @@ }, /turf/open/floor/iron/white/side, /area/station/science/research) +"pwD" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable, +/obj/effect/landmark/atmospheric_sanity/ignore_area, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/office) "pwJ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -43549,6 +44389,16 @@ /obj/structure/broken_flooring/singular/directional/east, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"pyl" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/item/clothing/head/cone{ + pixel_y = -13 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/office) "pyp" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/chair{ @@ -43589,6 +44439,10 @@ "pzd" = ( /turf/closed/wall, /area/station/commons/fitness/recreation/entertainment) +"pzi" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/supply/visible, +/turf/closed/wall/r_wall, +/area/station/engineering/hallway) "pzn" = ( /obj/structure/table, /obj/effect/turf_decal/siding/wood{ @@ -43660,6 +44514,11 @@ /obj/effect/spawner/random/entertainment/toy, /turf/open/floor/plating, /area/station/service/theater) +"pAa" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/structure/barricade, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "pAl" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -43712,21 +44571,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"pAx" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/obj/item/clothing/head/cone{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "pAB" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -43793,12 +44637,6 @@ /obj/structure/broken_flooring/singular/directional/south, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"pBy" = ( -/obj/machinery/suit_storage_unit/atmos, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/engineering/atmospherics_engine) "pBD" = ( /obj/effect/spawner/structure/window, /obj/structure/cable, @@ -43821,6 +44659,20 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/security/execution/education) +"pBT" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "pCa" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -43829,10 +44681,26 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"pCs" = ( -/obj/effect/spawner/random/engineering/atmospherics_portable, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine/atmos) +"pCo" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer5{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer1{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer4{ + dir = 8 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "pCv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -43855,6 +44723,12 @@ }, /turf/open/floor/iron/dark/small, /area/station/security/brig) +"pCQ" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/cable, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/plating, +/area/station/engineering/engine_smes) "pCU" = ( /obj/structure/cable, /obj/machinery/door/airlock{ @@ -43905,6 +44779,25 @@ }, /turf/open/floor/wood/tile, /area/station/service/lawoffice) +"pDH" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/atmos/glass{ + name = "Locker Room" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) +"pDK" = ( +/obj/effect/decal/cleanable/generic, +/obj/effect/spawner/random/structure/tank_holder, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "pDQ" = ( /obj/structure/cable, /obj/structure/table/glass, @@ -43924,6 +44817,16 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"pEa" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/fireaxecabinet/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/wood, +/area/station/engineering/atmos) "pEb" = ( /obj/structure/cable, /obj/structure/chair/office{ @@ -43934,10 +44837,34 @@ /obj/effect/landmark/start/lawyer, /turf/open/floor/wood/tile, /area/station/service/lawoffice) +"pEo" = ( +/obj/item/radio/intercom/directional/west, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "pEs" = ( /obj/effect/turf_decal/siding/blue, /turf/open/floor/iron/white, /area/station/medical/paramedic) +"pEt" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/window/spawner/directional/west, +/obj/machinery/camera/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = 5; + pixel_y = 8 + }, +/obj/item/pen{ + pixel_x = 6; + pixel_y = 8 + }, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "pEy" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -43999,22 +44926,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"pFN" = ( -/obj/structure/table/reinforced/titaniumglass, -/obj/item/stack/sheet/plasteel/fifty, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/item/electronics/airlock{ - pixel_x = -16 - }, -/obj/item/electronics/airlock{ - pixel_x = -16; - pixel_y = 7 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron, -/area/station/engineering/atmos/storage/gas) +"pFK" = ( +/obj/item/radio/intercom/directional/east, +/obj/effect/spawner/random/structure/closet_maintenance, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "pFQ" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 @@ -44025,6 +44942,27 @@ /obj/machinery/door/window/brigdoor/right/directional/west, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs/auxiliary) +"pFS" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/item/stack/cable_coil/five, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) +"pGi" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/arrow_ccw, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) "pGp" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -44035,6 +44973,13 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"pGt" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Pure to Waste" + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "pGu" = ( /obj/structure/cable, /obj/structure/table/wood, @@ -44211,17 +45156,6 @@ /obj/structure/broken_flooring/singular/directional/east, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"pIn" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "Mix to Distro" - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/pumproom) "pIp" = ( /obj/machinery/light/small/directional/west, /obj/effect/turf_decal/stripes/white/line{ @@ -44233,6 +45167,12 @@ /obj/structure/bodycontainer/morgue, /turf/open/floor/iron/dark/small, /area/station/service/chapel/storage) +"pIB" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "pIS" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -44241,16 +45181,6 @@ }, /turf/open/floor/plating, /area/station/command/bridge) -"pJg" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "pJj" = ( /obj/structure/chair/sofa/bench/left{ dir = 1 @@ -44259,6 +45189,14 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"pJk" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold/orange/visible, +/obj/machinery/meter, +/turf/open/floor/iron/small, +/area/station/engineering/supermatter/room) "pJm" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -44288,13 +45226,6 @@ /obj/structure/chair/stool/directional/south, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/starboard/aft) -"pJw" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/landmark/navigate_destination/dockescpod, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "pJx" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/line{ @@ -44320,6 +45251,20 @@ /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"pJT" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer4{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) +"pKg" = ( +/obj/effect/turf_decal/siding/dark{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/carbon_output, +/turf/open/floor/engine/co2, +/area/station/engineering/atmos/space_catwalk) "pKi" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security{ @@ -44422,6 +45367,22 @@ dir = 1 }, /area/station/command/corporate_showroom) +"pLI" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/right/directional/north{ + req_access = list("engineering"); + name = "Engineering Desk" + }, +/obj/item/folder/yellow{ + pixel_x = -10; + pixel_y = 3 + }, +/obj/structure/desk_bell{ + pixel_x = 7 + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/engineering/break_room) "pLK" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -44445,11 +45406,6 @@ }, /turf/open/floor/grass, /area/station/service/chapel) -"pMr" = ( -/obj/structure/rack, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "pMs" = ( /obj/structure/transit_tube/horizontal, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -44476,6 +45432,16 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor/flat_white, /area/station/science/research) +"pML" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 6 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "pMS" = ( /obj/structure/table, /obj/machinery/light/small/directional/south, @@ -44555,6 +45521,20 @@ /obj/machinery/holopad, /turf/open/floor/iron, /area/station/cargo/office) +"pOi" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/engineering/main) "pOj" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -44599,6 +45579,16 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark/herringbone, /area/station/security/execution/education) +"pOB" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/storage/gas) "pOJ" = ( /obj/machinery/atmospherics/components/binary/pump/on{ dir = 4; @@ -44636,12 +45626,30 @@ /obj/effect/landmark/start/coroner, /turf/open/floor/iron/small, /area/station/medical/morgue) +"pPm" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/light_switch/directional/south, +/obj/item/airlock_painter, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/storage/gas) "pPq" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"pPH" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Atmospherics Project Bay" + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "pPK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -44667,6 +45675,10 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/wood/tile, /area/station/service/bar) +"pQj" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "pQr" = ( /obj/effect/turf_decal/siding/thinplating_new/light{ dir = 1 @@ -44709,6 +45721,11 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/wood, /area/station/service/chapel/office) +"pRw" = ( +/obj/effect/spawner/random/structure/closet_maintenance, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "pRz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, @@ -44798,11 +45815,6 @@ /obj/machinery/light/small/red/directional/west, /turf/open/floor/iron/white, /area/station/maintenance/central/greater) -"pSo" = ( -/obj/effect/turf_decal/sand/plating, -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "pSq" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/official/random/directional/north, @@ -44845,6 +45857,10 @@ /obj/structure/bookcase/random/adult, /turf/open/floor/iron/grimy, /area/station/service/library) +"pSQ" = ( +/obj/structure/cable, +/turf/closed/wall, +/area/station/engineering/supermatter/room) "pST" = ( /obj/structure/table, /obj/item/plant_analyzer, @@ -44880,6 +45896,13 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/stone, /area/station/service/theater) +"pTp" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/wood, +/area/station/engineering/atmos) "pTq" = ( /obj/machinery/door/airlock/maintenance{ name = "Crematorium Maintenance" @@ -44895,6 +45918,15 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron/dark/smooth_large, /area/station/service/lawoffice) +"pTt" = ( +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/machinery/door/airlock/engineering{ + name = "Suit Lockers" + }, +/turf/open/floor/iron/textured_half{ + dir = 1 + }, +/area/station/engineering/supermatter/room) "pTz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -44951,6 +45983,13 @@ /obj/effect/turf_decal/tile/green, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"pUe" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/engine/o2, +/area/station/engineering/atmos/space_catwalk) "pUl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/firedoor, @@ -44959,6 +45998,19 @@ }, /turf/open/floor/iron/textured_half, /area/station/service/hydroponics/garden) +"pUs" = ( +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/engineering/construction, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/airlock/engineering/glass{ + name = "Engineering Foyer" + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/break_room) "pUt" = ( /obj/structure/grille, /obj/effect/decal/cleanable/glass, @@ -44984,6 +46036,19 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) +"pUK" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/grunge{ + name = "Turbine" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/disposal/incinerator) "pUL" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/table/reinforced/plastitaniumglass, @@ -45003,6 +46068,10 @@ }, /turf/open/floor/iron/textured_half, /area/station/service/hydroponics/garden) +"pUR" = ( +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "pUS" = ( /obj/machinery/door/airlock/external{ name = "Labor Camp Shuttle Airlock"; @@ -45046,6 +46115,21 @@ /obj/effect/mapping_helpers/broken_floor, /turf/closed/wall, /area/station/maintenance/department/medical/central) +"pVM" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/item/kirbyplants/random, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/smooth, +/area/station/engineering/break_room) "pVN" = ( /obj/structure/chair/sofa/bench/left, /obj/effect/turf_decal/tile/dark_red/opposingcorners, @@ -45077,6 +46161,9 @@ dir = 4 }, /area/station/science/lobby) +"pWm" = ( +/turf/closed/wall, +/area/station/maintenance/department/electrical) "pWt" = ( /obj/structure/lattice, /obj/structure/railing/corner{ @@ -45111,6 +46198,15 @@ }, /turf/open/floor/iron/cafeteria, /area/station/hallway/secondary/exit/departure_lounge) +"pWH" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/stairs{ + dir = 1 + }, +/area/station/engineering/lobby) "pWM" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -45163,6 +46259,11 @@ }, /turf/open/floor/iron/dark/small, /area/station/science/xenobiology) +"pXc" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos) "pXh" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 @@ -45183,6 +46284,15 @@ }, /turf/open/floor/iron/cafeteria, /area/station/hallway/secondary/exit/departure_lounge) +"pXu" = ( +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/office) "pXz" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted, /obj/machinery/firealarm/directional/south, @@ -45299,6 +46409,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/herringbone, /area/station/service/abandoned_gambling_den/gaming) +"pYP" = ( +/obj/machinery/door/poddoor/preopen{ + id = "atmos"; + name = "Atmospherics Blast Door" + }, +/obj/machinery/light_switch/directional/east, +/turf/open/floor/plating/elevatorshaft, +/area/station/engineering/atmos) "pYY" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -45330,21 +46448,17 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/plating, /area/station/cargo/storage) -"pZI" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 9 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "pZK" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/iron, /area/station/cargo/storage) +"pZQ" = ( +/obj/structure/grille, +/obj/item/shard/titanium, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "qaA" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/siding/wood{ @@ -45417,6 +46531,13 @@ }, /turf/open/floor/grass, /area/station/service/chapel) +"qbv" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "qbw" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -45432,21 +46553,16 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/security/checkpoint/supply) -"qbB" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/smart/manifold4w/purple/visible, -/turf/open/floor/iron/smooth, -/area/station/engineering/atmos/pumproom) "qbC" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, /turf/open/floor/iron/kitchen/small, /area/station/hallway/secondary/service) +"qbE" = ( +/obj/item/stack/tile/catwalk_tile/iron, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "qbK" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -45462,6 +46578,28 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) +"qbP" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/airalarm/directional/east, +/obj/structure/table/reinforced, +/obj/item/folder/yellow{ + pixel_x = 2 + }, +/obj/item/reagent_containers/cup/glass/mug/coco{ + pixel_x = -6; + pixel_y = 6 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/break_room) +"qbR" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 6 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "qcf" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -45494,6 +46632,10 @@ /obj/effect/landmark/navigate_destination/dockarrival, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"qcF" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "qcQ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -45548,6 +46690,19 @@ /obj/machinery/duct, /turf/open/floor/iron/smooth_large, /area/station/service/bar) +"qdJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/obj/structure/sign/warning/radiation/directional/south, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) "qdM" = ( /obj/structure/chair/sofa/bench/left{ dir = 4 @@ -45604,6 +46759,10 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron, /area/station/security/prison/workout) +"qeq" = ( +/obj/structure/fluff/broken_canister_frame, +/turf/open/misc/asteroid, +/area/station/maintenance/department/engine/atmos) "qey" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -45644,6 +46803,16 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) +"qeV" = ( +/obj/effect/turf_decal/tile/yellow/diagonal_centre, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/diagonal, +/area/station/engineering/lobby) "qfb" = ( /obj/effect/mapping_helpers/broken_floor, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -45651,6 +46820,18 @@ }, /turf/open/floor/wood/parquet, /area/station/service/library) +"qfn" = ( +/obj/effect/turf_decal/siding/purple{ + dir = 9 + }, +/obj/machinery/air_sensor/plasma_tank, +/obj/machinery/camera/emp_proof{ + c_tag = "Engineering - Atmospherics CO2 Chamber"; + dir = 9; + network = list("ss13","engineering") + }, +/turf/open/floor/engine/plasma, +/area/station/engineering/atmos/space_catwalk) "qfo" = ( /obj/structure/disposalpipe/segment, /obj/structure/sign/departments/lawyer/directional/east, @@ -45900,6 +47081,12 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/wood, /area/station/commons/fitness/recreation) +"qid" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "qin" = ( /obj/docking_port/stationary/escape_pod, /turf/open/space/basic, @@ -45935,19 +47122,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/commons/storage/tools) -"qiE" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "qiM" = ( /obj/structure/table, /turf/open/floor/iron/cafeteria, @@ -45968,15 +47142,6 @@ /obj/item/stock_parts/cell/high, /turf/open/floor/engine, /area/station/science/xenobiology) -"qiX" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/east, -/obj/effect/turf_decal/stripes/white/line{ - dir = 6 - }, -/obj/machinery/power/energy_accumulator/tesla_coil/anchored, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "qjh" = ( /obj/machinery/light_switch/directional/west, /turf/open/floor/iron/white, @@ -46004,6 +47169,19 @@ /obj/structure/table, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"qjp" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) +"qjq" = ( +/obj/machinery/door/window/left/directional/north, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, +/obj/effect/turf_decal/stripes/white/full, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "qju" = ( /obj/structure/cable, /obj/machinery/door/poddoor/preopen{ @@ -46013,6 +47191,15 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/command/meeting_room) +"qjx" = ( +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/break_room) "qjy" = ( /obj/structure/hedge, /turf/open/floor/iron/smooth, @@ -46068,6 +47255,13 @@ "qkF" = ( /turf/open/floor/iron, /area/station/commons) +"qkI" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/engineering/atmos/space_catwalk) "qkK" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -46082,11 +47276,17 @@ }, /turf/open/floor/iron, /area/station/security) -"qld" = ( -/obj/machinery/destructive_scanner, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/white, -/area/station/hallway/primary/starboard) +"qli" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"qlk" = ( +/obj/structure/lattice, +/obj/structure/transit_tube/horizontal{ + dir = 2 + }, +/turf/open/space/basic, +/area/space/nearstation) "qll" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -46151,6 +47351,14 @@ /obj/machinery/light/cold/directional/east, /turf/open/floor/carpet/lone, /area/station/service/theater) +"qmo" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/space/basic, +/area/space/nearstation) "qmr" = ( /obj/effect/turf_decal/siding/red{ dir = 9 @@ -46158,6 +47366,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/small, /area/station/security/brig) +"qmv" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Atmospherics Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/engineering/construction, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "qmx" = ( /obj/structure/table/wood, /obj/effect/turf_decal/tile/neutral/full, @@ -46296,17 +47511,6 @@ /obj/machinery/duct, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) -"qoh" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "qoj" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/window/right/directional/west{ @@ -46316,6 +47520,13 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/plating, /area/station/medical/morgue) +"qol" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/atmos) "qon" = ( /obj/machinery/vending/wardrobe/chef_wardrobe, /obj/structure/extinguisher_cabinet/directional/north, @@ -46326,6 +47537,13 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/space/nearstation) +"qoA" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/landmark/generic_maintenance_landmark, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "qoD" = ( /turf/closed/wall/r_wall, /area/station/command/corporate_showroom) @@ -46407,10 +47625,38 @@ /obj/machinery/light/floor, /turf/open/floor/glass/reinforced, /area/station/command/bridge) +"qqJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/iron/smooth_corner{ + dir = 1 + }, +/area/station/engineering/supermatter/room) "qrb" = ( /obj/structure/sign/warning/biohazard, /turf/closed/wall/r_wall, /area/station/science/xenobiology) +"qrc" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/structure/railing/corner, +/obj/structure/reflector/box{ + dir = 1 + }, +/turf/open/space/basic, +/area/space/nearstation) "qrg" = ( /obj/structure/cable, /obj/structure/displaycase/captain{ @@ -46463,6 +47709,16 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) +"qsa" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/camera/directional/south{ + c_tag = "Engineering - Airlock" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/small, +/area/station/engineering/supermatter/room) "qsg" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/power/terminal, @@ -46470,13 +47726,6 @@ /obj/structure/chair/stool/directional/east, /turf/open/floor/circuit, /area/station/tcommsat/server) -"qsi" = ( -/obj/structure/closet/secure_closet/engineering_personal, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/small, -/area/station/engineering/main) "qsj" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -46551,6 +47800,17 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron, /area/station/cargo/sorting) +"qtv" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 10 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/wood, +/area/station/engineering/atmos/office) "qtE" = ( /obj/structure/bed{ dir = 4 @@ -46571,6 +47831,26 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/smooth, /area/station/cargo/drone_bay) +"qtP" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor/preopen{ + id = "atmos"; + name = "Atmospherics Blast Door" + }, +/obj/machinery/camera/directional/east{ + c_tag = "Atmospherics - Central" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "qtQ" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -46638,6 +47918,39 @@ /obj/structure/flora/tree/jungle/small/style_random, /turf/open/floor/grass, /area/station/service/chapel) +"quO" = ( +/obj/structure/reagent_dispensers/wall/peppertank/directional/east, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/structure/table, +/obj/item/book/manual/wiki/security_space_law{ + pixel_x = -6; + pixel_y = 4 + }, +/obj/machinery/recharger{ + pixel_x = 7; + pixel_y = 9 + }, +/turf/open/floor/iron/smooth, +/area/station/security/checkpoint/engineering) +"quP" = ( +/obj/structure/table/reinforced/titaniumglass, +/obj/item/clothing/gloves/color/black, +/obj/item/electronics/airalarm{ + pixel_x = 6; + pixel_y = 12 + }, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/obj/machinery/light/cold/dim/directional/west, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "quS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -46696,12 +48009,23 @@ /obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"qwc" = ( +/obj/structure/tank_holder/emergency_oxygen, +/turf/open/floor/plating/elevatorshaft, +/area/station/engineering/atmos) "qwn" = ( /obj/structure/cable, /obj/effect/mapping_helpers/broken_floor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) +"qwo" = ( +/obj/structure/lattice, +/obj/machinery/camera/directional/north{ + c_tag = "Atmospherics - South Exterior" + }, +/turf/open/space/basic, +/area/space/nearstation) "qwq" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/machinery/computer/prisoner/management{ @@ -46813,6 +48137,21 @@ /obj/item/restraints/handcuffs/fake, /turf/open/floor/plating, /area/station/maintenance/fore/greater) +"qxz" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) +"qxF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating/elevatorshaft, +/area/station/engineering/break_room) "qxN" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -46836,12 +48175,31 @@ /obj/structure/flora/bush/flowers_pp/style_random, /turf/open/misc/sandy_dirt, /area/station/science/research) -"qyo" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ +"qyb" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 5 + }, +/obj/structure/table, +/obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 10 }, -/turf/open/space/basic, -/area/space/nearstation) +/obj/effect/turf_decal/siding/thinplating_new/dark/corner{ + dir = 4 + }, +/obj/machinery/light_switch/directional/south, +/obj/effect/spawner/random/entertainment/lighter{ + pixel_x = -7 + }, +/obj/item/flashlight{ + pixel_y = 8; + pixel_x = 3 + }, +/obj/item/flashlight{ + pixel_y = 3; + pixel_x = 10 + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/pumproom) "qyx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/chair{ @@ -46998,6 +48356,15 @@ }, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) +"qAr" = ( +/obj/structure/railing/corner, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) "qAs" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/red/line{ @@ -47012,11 +48379,13 @@ /obj/structure/table, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"qAN" = ( -/obj/structure/cable, -/obj/machinery/power/smes/full, +"qAR" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/tank, /turf/open/floor/plating, -/area/station/engineering/atmos/project) +/area/station/engineering/atmos/pumproom) "qBc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -47174,6 +48543,16 @@ "qCR" = ( /turf/open/floor/wood/large, /area/station/service/chapel) +"qCT" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/light_switch/directional/north, +/turf/open/floor/iron/grimy, +/area/station/command/heads_quarters/ce) "qCU" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/structure/table/reinforced, @@ -47216,11 +48595,64 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics) +"qDq" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing/corner, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer5{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/brown/visible, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) +"qDv" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold/green/visible{ + dir = 8 + }, +/turf/open/floor/iron/smooth_corner, +/area/station/engineering/supermatter/room) "qDx" = ( /obj/structure/toilet, /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/iron/white/small, /area/station/maintenance/port/aft) +"qDA" = ( +/obj/machinery/door/airlock/engineering{ + name = "Engine Airlock" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "engine_airlock_1" + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/main) +"qDJ" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/button/door/directional/west{ + id = "atmosbridge"; + name = "Space Bridge" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "qDK" = ( /obj/machinery/light_switch/directional/west, /obj/structure/reagent_dispensers/water_cooler, @@ -47259,12 +48691,6 @@ dir = 8 }, /area/station/science/lobby) -"qEj" = ( -/obj/structure/table/reinforced/titaniumglass, -/obj/machinery/camera/autoname/directional/north, -/obj/item/flashlight/lamp, -/turf/open/floor/iron/small, -/area/station/engineering/supermatter/room) "qEk" = ( /obj/structure/table/reinforced, /obj/item/folder/blue{ @@ -47274,6 +48700,13 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) +"qEm" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "qEp" = ( /obj/machinery/chem_master/condimaster{ desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments."; @@ -47302,6 +48735,14 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/lower) +"qEP" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/poddoor/shutters, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "qFb" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -47329,6 +48770,16 @@ }, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"qFw" = ( +/obj/structure/fluff/broken_canister_frame, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating/elevatorshaft, +/area/station/engineering/atmos) "qFA" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair/office/light, @@ -47358,6 +48809,10 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/wood/parquet, /area/station/service/library) +"qGk" = ( +/obj/structure/chair/stool/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "qGu" = ( /obj/effect/turf_decal/siding/dark_red, /obj/item/radio/intercom/directional/south, @@ -47415,13 +48870,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/central/greater) -"qHg" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 4 - }, -/obj/effect/spawner/structure/window/reinforced/plasma, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) "qHm" = ( /obj/structure/table/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -47461,13 +48909,6 @@ }, /turf/open/floor/iron/kitchen/small, /area/station/security/prison/mess) -"qHT" = ( -/obj/structure/closet/secure_closet/engineering_chief, -/obj/item/storage/briefcase/secure, -/obj/item/lighter, -/obj/machinery/computer/security/telescreen/entertainment/directional/south, -/turf/open/floor/iron/grimy, -/area/station/command/heads_quarters/ce) "qHY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -47580,13 +49021,6 @@ /obj/structure/broken_flooring/corner/directional/south, /turf/open/floor/plating, /area/station/commons) -"qJl" = ( -/obj/structure/disposalpipe/trunk, -/obj/effect/turf_decal/bot, -/obj/machinery/airalarm/directional/north, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron, -/area/station/cargo/storage) "qJq" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -47601,6 +49035,34 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"qJN" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/table/reinforced/titaniumglass, +/obj/item/clothing/suit/hazardvest{ + pixel_y = 8 + }, +/obj/item/clothing/suit/hazardvest{ + pixel_y = 5 + }, +/obj/item/clothing/suit/hazardvest{ + pixel_y = 2 + }, +/obj/item/tank/internals/emergency_oxygen/engi{ + pixel_y = 4 + }, +/obj/item/tank/internals/emergency_oxygen/engi{ + pixel_y = 4 + }, +/obj/item/grenade/chem_grenade/smart_metal_foam{ + pixel_x = -12; + pixel_y = 10 + }, +/obj/item/grenade/chem_grenade/smart_metal_foam{ + pixel_x = -15; + pixel_y = 5 + }, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "qKe" = ( /obj/effect/turf_decal/tile/purple/opposingcorners, /obj/effect/turf_decal/siding/green, @@ -47614,6 +49076,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor/iron_dark, /area/station/science/xenobiology) +"qKx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/storage_shared) "qKE" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -47643,14 +49110,6 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/cmo, /turf/open/floor/iron/white/small, /area/station/command/heads_quarters/cmo) -"qKZ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/iron/smooth_edge{ - dir = 8 - }, -/area/station/maintenance/disposal/incinerator) "qLc" = ( /obj/machinery/door/airlock{ id_tag = "Toilet3"; @@ -47658,17 +49117,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/restrooms) -"qLf" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/iron/small, -/area/station/engineering/main) -"qLh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron, -/area/station/engineering/break_room) "qLj" = ( /obj/structure/bed{ dir = 4 @@ -47745,6 +49193,24 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron, /area/station/security/courtroom) +"qMu" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/corner{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/engine_smes) +"qMG" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable, +/turf/open/floor/iron/small, +/area/station/maintenance/department/electrical) "qMK" = ( /turf/closed/wall, /area/station/command/bridge) @@ -47793,6 +49259,12 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/escape) +"qNN" = ( +/obj/machinery/atmospherics/components/binary/valve{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "qNO" = ( /turf/open/floor/plating, /area/station/maintenance/starboard/central) @@ -47804,11 +49276,6 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/smooth_large, /area/station/science/auxlab/firing_range) -"qOi" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/layer_manifold/yellow/visible, -/turf/open/floor/plating, -/area/station/engineering/atmos/pumproom) "qOm" = ( /obj/effect/spawner/structure/window/reinforced, /obj/effect/turf_decal/stripes/corner{ @@ -47827,19 +49294,6 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/port) -"qOG" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/delivery, -/obj/machinery/door/poddoor/preopen{ - id = "atmos"; - name = "Atmospherics Blast Door" - }, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "qON" = ( /obj/effect/decal/cleanable/cobweb, /obj/structure/table, @@ -47867,9 +49321,23 @@ /obj/effect/landmark/start/chemist, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"qPg" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ + dir = 1 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "qPN" = ( /turf/closed/wall/r_wall, /area/station/security/prison/safe) +"qPO" = ( +/obj/machinery/atmospherics/pipe/smart/simple/supply/visible/layer2{ + dir = 6 + }, +/obj/machinery/meter, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "qQg" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -47881,6 +49349,17 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"qQi" = ( +/obj/structure/chair/stool/directional/north, +/obj/effect/turf_decal/siding/yellow{ + dir = 6 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/wood, +/area/station/engineering/break_room) "qQo" = ( /obj/structure/flora/bush/fullgrass/style_random, /obj/structure/flora/bush/flowers_br/style_random, @@ -47911,6 +49390,15 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"qQF" = ( +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/airlock/external{ + name = "Escape Pod Three"; + space_dir = 1 + }, +/turf/open/floor/iron/small, +/area/station/maintenance/department/electrical) "qQK" = ( /turf/open/floor/iron/white/corner{ dir = 1 @@ -47992,10 +49480,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"qRQ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/small, -/area/station/engineering/atmos) "qRU" = ( /obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{ dir = 8 @@ -48156,11 +49640,27 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/wood, /area/station/cargo/boutique) +"qTU" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/simple/dark/hidden, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/disposal/incinerator) "qUa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) +"qUd" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer2, +/obj/structure/filingcabinet/chestdrawer, +/turf/open/floor/iron/smooth, +/area/station/maintenance/disposal/incinerator) "qUe" = ( /obj/structure/cable, /obj/machinery/door/airlock/glass, @@ -48203,17 +49703,20 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark/herringbone, /area/station/security/courtroom) +"qUE" = ( +/obj/machinery/pipedispenser/disposal/transit_tube, +/obj/effect/turf_decal/stripes/box, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "qUF" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"qUL" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +"qUN" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/turf/open/floor/iron/stairs/medium{ + dir = 1 }, -/obj/machinery/meter, -/turf/open/floor/iron/dark, /area/station/engineering/atmos) "qUS" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ @@ -48254,6 +49757,32 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/wood/tile, /area/station/command/corporate_showroom) +"qVJ" = ( +/obj/item/clothing/head/cone{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/clothing/head/cone{ + pixel_x = 5; + pixel_y = 1 + }, +/obj/item/clothing/head/cone{ + pixel_x = -12; + pixel_y = 3 + }, +/obj/item/clothing/head/cone{ + pixel_x = -5; + pixel_y = -3 + }, +/obj/item/clothing/head/cone{ + pixel_x = 5; + pixel_y = -7 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/light/broken/directional/east, +/obj/machinery/light_switch/directional/south, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/storage_shared) "qVK" = ( /obj/machinery/firealarm/directional/west, /obj/effect/turf_decal/stripes/corner{ @@ -48370,6 +49899,16 @@ /obj/effect/mapping_helpers/requests_console/assistance, /turf/open/floor/plating, /area/station/command/heads_quarters/hop) +"qXd" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/closet/emcloset, +/obj/machinery/light/small/directional/east, +/obj/structure/sign/poster/official/random/directional/north, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/hallway) "qXe" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -48440,6 +49979,15 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/wood/parquet, /area/station/service/library) +"qYg" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/storage_shared) "qYh" = ( /obj/structure/closet/crate/silvercrate, /obj/effect/turf_decal/bot_white/left, @@ -48457,6 +50005,12 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/iron/dark/small, /area/station/security/tram) +"qYp" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 10 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos) "qYq" = ( /obj/structure/table/glass, /obj/machinery/cell_charger, @@ -48495,6 +50049,17 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/shower) +"qYE" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 10 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "qYK" = ( /obj/structure/disposalpipe/trunk, /obj/structure/window/reinforced/spawner/directional/west, @@ -48531,6 +50096,13 @@ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) +"qZm" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 9 + }, +/turf/open/space/basic, +/area/space/nearstation) "qZn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral{ @@ -48564,6 +50136,13 @@ }, /turf/open/floor/grass, /area/station/service/chapel) +"qZE" = ( +/obj/machinery/door/airlock/engineering{ + name = "Engineering Office" + }, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/turf/open/floor/iron/textured_half, +/area/station/maintenance/department/engine/atmos) "qZG" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/broken_flooring/corner/directional/south, @@ -48613,6 +50192,13 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/wood/large, /area/station/service/chapel) +"rao" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos) "raz" = ( /obj/machinery/door/airlock/public/glass{ name = "Lavatorie" @@ -48646,6 +50232,11 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"raP" = ( +/obj/item/kirbyplants/random, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/office) "raX" = ( /obj/effect/landmark/start/assistant, /obj/structure/chair/sofa/bamboo/right{ @@ -48665,6 +50256,9 @@ }, /turf/open/floor/tram, /area/station/security/tram) +"rbg" = ( +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos) "rbh" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/wood{ @@ -48673,11 +50267,28 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/grass, /area/station/service/chapel) +"rbl" = ( +/obj/structure/filingcabinet/chestdrawer, +/obj/machinery/light/cold/dim/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "rbo" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/firedoor, /turf/open/floor/iron/white/small, /area/station/medical/medbay/lobby) +"rbp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor{ + id = "Secure Storage"; + name = "Secure Storage" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating/rust, +/area/station/engineering/main) "rbs" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -48740,6 +50351,25 @@ /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/engine, /area/station/science/xenobiology) +"rco" = ( +/obj/machinery/shieldgen, +/obj/item/clothing/gloves/color/black{ + pixel_y = -3; + pixel_x = -2 + }, +/obj/item/clothing/mask/cigarette{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/clothing/mask/gas{ + pixel_y = 5 + }, +/obj/item/clothing/head/cone{ + pixel_x = 1; + pixel_y = 15 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "rcp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/decal/cleanable/dirt, @@ -48781,6 +50411,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) +"rcQ" = ( +/obj/item/kirbyplants/random, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/pods/directional/north, +/obj/machinery/light/small/dim/directional/east, +/turf/open/floor/iron, +/area/station/maintenance/department/engine/atmos) "rdb" = ( /obj/machinery/door/airlock/public{ name = "Abandoned Domiciles" @@ -48814,6 +50451,10 @@ /obj/structure/broken_flooring/pile/directional/east, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"rdH" = ( +/obj/machinery/keycard_auth/directional/south, +/turf/open/floor/mineral/titanium, +/area/station/command/heads_quarters/ce) "rdK" = ( /obj/structure/chair/office, /obj/effect/landmark/start/botanist, @@ -48894,6 +50535,19 @@ }, /turf/open/floor/wood, /area/station/hallway/secondary/entry) +"reL" = ( +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/requests_console/directional/west{ + department = "Atmospherics"; + name = "Atmospherics Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/effect/mapping_helpers/requests_console/assistance, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/office) "reM" = ( /turf/closed/wall/r_wall, /area/station/security/checkpoint/escape) @@ -49033,6 +50687,17 @@ /obj/item/kirbyplants/random/fullysynthetic, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"rgS" = ( +/obj/structure/railing/corner/end{ + dir = 1 + }, +/obj/structure/railing/corner/end/flip{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/small, +/area/station/maintenance/department/engine/atmos) "rgT" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/red/line{ @@ -49043,6 +50708,13 @@ }, /turf/open/floor/iron/small, /area/station/hallway/primary/port) +"rhg" = ( +/obj/machinery/air_sensor/engine_chamber, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "rhj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -49089,6 +50761,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/cargo/drone_bay) +"rhu" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 5 + }, +/obj/machinery/camera/emp_proof{ + c_tag = "Engineering - Atmospherics CO2 Chamber"; + dir = 9; + network = list("ss13","engineering") + }, +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos/space_catwalk) "rhy" = ( /obj/structure/chair{ dir = 1 @@ -49207,12 +50890,45 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"rjo" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/engineering/glass{ + name = "Abandoned Power Monitoring" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/turf/open/floor/iron/smooth_half{ + dir = 1 + }, +/area/station/maintenance/department/electrical) +"rjr" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, +/turf/open/floor/plating/rust, +/area/station/engineering/supermatter) +"rjv" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/scrubber, +/obj/effect/turf_decal/stripes/red/end, +/obj/structure/sign/poster/official/random/directional/east, +/turf/open/floor/iron/dark/small, +/area/station/hallway/primary/fore) "rjz" = ( /obj/effect/turf_decal/plaque{ icon_state = "L11" }, /turf/open/floor/glass, /area/station/hallway/secondary/spacebridge) +"rjE" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "rjH" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -49233,16 +50949,16 @@ }, /turf/open/floor/wood, /area/station/service/theater) -"rkm" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 4 +"rkk" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/dark, -/area/station/engineering/main) +/obj/item/kirbyplants/random, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "rkr" = ( /obj/structure/table_frame, /obj/effect/decal/cleanable/molten_object, @@ -49267,6 +50983,13 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/cargo/boutique) +"rkS" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 8 + }, +/obj/machinery/air_sensor/nitrous_tank, +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos/space_catwalk) "rlb" = ( /obj/item/kirbyplants/random/fullysynthetic, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -49296,6 +51019,14 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"rlk" = ( +/obj/machinery/light/broken/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/yellow/corner, +/obj/structure/sign/warning/directional/north, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "rlr" = ( /turf/closed/wall, /area/station/medical/storage) @@ -49342,12 +51073,28 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) +"rmD" = ( +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/machinery/door/airlock/engineering/glass{ + name = "Locker Room" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/engineering/engine_smes) "rmG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/light_switch/directional/north, /turf/open/floor/wood, /area/station/cargo/boutique) +"rmM" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/edge{ + dir = 8 + }, +/area/station/engineering/main) "rmX" = ( /obj/structure/table, /obj/effect/turf_decal/tile/blue/fourcorners, @@ -49402,6 +51149,24 @@ /obj/structure/thermoplastic/light, /turf/open/floor/tram, /area/station/maintenance/port/aft) +"roc" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer2, +/turf/open/floor/engine, +/area/station/maintenance/disposal/incinerator) +"roe" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/railing/corner/end{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/corner{ + dir = 8 + }, +/obj/structure/sign/warning/radiation/directional/north, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) "roi" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -49539,13 +51304,6 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) -"rqc" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/table/wood, -/obj/machinery/camera/directional/south, -/obj/item/stack/cable_coil/five, -/turf/open/floor/plating, -/area/station/commons/vacant_room/commissary) "rqd" = ( /obj/effect/mapping_helpers/broken_floor, /obj/item/radio/intercom/directional/south, @@ -49595,10 +51353,33 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"rqV" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer5{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer1{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) "rrb" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor/iron_dark, /area/station/science/xenobiology) +"rro" = ( +/obj/structure/railing, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron/stairs{ + dir = 4 + }, +/area/station/engineering/main) "rrq" = ( /obj/structure/closet, /turf/open/floor/plating, @@ -49622,6 +51403,15 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"rrG" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, +/turf/open/floor/iron/smooth_edge{ + dir = 4 + }, +/area/station/engineering/supermatter/room) "rrH" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -49651,6 +51441,13 @@ /obj/effect/spawner/random/contraband/prison, /turf/open/floor/plating, /area/station/security/prison/safe) +"rse" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "rsg" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -49672,6 +51469,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white, /area/station/medical/paramedic) +"rsr" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/mineral/titanium, +/area/station/command/heads_quarters/ce) "rss" = ( /obj/machinery/portable_atmospherics/canister/plasma, /obj/effect/turf_decal/stripes/white/line{ @@ -49709,15 +51512,6 @@ "rsL" = ( /turf/closed/wall/r_wall, /area/station/maintenance/starboard/fore) -"rsP" = ( -/obj/machinery/suit_storage_unit/engine, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/item/radio/intercom/directional/east, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating, -/area/station/engineering/main) "rsQ" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49793,6 +51587,12 @@ }, /turf/closed/wall, /area/station/hallway/secondary/recreation) +"rub" = ( +/obj/structure/railing/corner, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) "ruc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -49820,16 +51620,11 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/science/lower) -"ruz" = ( +"rup" = ( +/obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, -/obj/machinery/power/smes/full, -/obj/machinery/camera/directional/north{ - c_tag = "AI Chamber - SMES"; - network = list("aicore") - }, -/obj/machinery/flasher/directional/north, -/turf/open/floor/circuit/red, -/area/station/ai_monitored/turret_protected/ai) +/turf/open/floor/plating, +/area/station/security/checkpoint/engineering) "ruC" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/tile/green/anticorner/contrasted, @@ -49939,6 +51734,16 @@ /obj/machinery/door/firedoor, /turf/open/floor/catwalk_floor/flat_white, /area/station/science/research) +"rwl" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 9 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "rwo" = ( /obj/structure/reagent_dispensers/water_cooler, /obj/machinery/camera/directional/west, @@ -49968,6 +51773,12 @@ }, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) +"rwJ" = ( +/obj/structure/chair/stool/directional/north, +/obj/effect/turf_decal/siding/yellow, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/wood, +/area/station/engineering/break_room) "rwP" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -50007,6 +51818,16 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"rxs" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/thermomachine/heater/on{ + dir = 8; + initialize_directions = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "rxu" = ( /obj/structure/table, /obj/machinery/airalarm/directional/south, @@ -50253,6 +52074,18 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/plating, /area/station/engineering/gravity_generator) +"rAH" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/status_display/evac/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable, +/obj/structure/reflector/box/anchored{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "rAN" = ( /obj/structure/cable, /obj/effect/mapping_helpers/broken_floor, @@ -50359,12 +52192,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white/small, /area/station/service/hydroponics) -"rBW" = ( -/obj/structure/cable, -/obj/structure/sign/warning/no_smoking/circle/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "rBY" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -50393,6 +52220,32 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/hallway/secondary/exit/departure_lounge) +"rCU" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 10 + }, +/obj/structure/sink/directional/east, +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, +/turf/open/floor/iron/dark/small, +/area/station/engineering/main) +"rCX" = ( +/obj/effect/turf_decal/siding/purple{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/plasma_input, +/turf/open/floor/engine/plasma, +/area/station/engineering/atmos/space_catwalk) +"rDc" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/obj/effect/spawner/random/food_or_drink/donkpockets{ + pixel_y = 6 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/wood, +/area/station/engineering/break_room) "rDf" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -50444,6 +52297,9 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/smooth, /area/station/cargo/drone_bay) +"rDV" = ( +/turf/closed/wall/r_wall, +/area/station/engineering/storage_shared) "rDY" = ( /obj/effect/turf_decal/stripes/white/line, /obj/structure/transport/linear/tram, @@ -50457,11 +52313,17 @@ /obj/structure/alien/weeds, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) -"rEt" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, -/turf/open/floor/plating, -/area/station/engineering/atmos/pumproom) +"rEH" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/atmos{ + name = "Locker Room" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, +/turf/open/floor/catwalk_floor, +/area/station/engineering/atmos) "rEL" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -50499,6 +52361,13 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/iron, /area/station/cargo/sorting) +"rFb" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, +/obj/effect/turf_decal/tile/yellow, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "rFi" = ( /obj/item/kirbyplants/random, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -50528,6 +52397,9 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"rFC" = ( +/turf/open/floor/catwalk_floor, +/area/station/command/heads_quarters/ce) "rFF" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -50675,6 +52547,16 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/smooth_large, /area/station/service/bar) +"rHe" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Engineering - South Corridor" + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "rHm" = ( /obj/effect/turf_decal/tile/brown/full, /obj/machinery/chem_master/condimaster{ @@ -50704,12 +52586,30 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/wood, /area/station/cargo/boutique) +"rHE" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/mop_bucket/janitorialcart{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/maintenance/department/engine/atmos) "rHH" = ( /obj/effect/turf_decal/siding/wood{ dir = 9 }, /turf/open/floor/carpet/blue, /area/station/cargo/boutique) +"rHK" = ( +/obj/effect/spawner/random/structure/girder, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"rHL" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/turf_decal/delivery, +/obj/structure/sign/poster/official/random/directional/north, +/obj/machinery/modular_computer/preset/cargochat/service, +/turf/open/floor/iron/kitchen/small, +/area/station/hallway/secondary/service) "rHQ" = ( /obj/machinery/deepfryer, /turf/open/floor/iron/cafeteria, @@ -50892,6 +52792,14 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/service/theater) +"rKR" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "rKV" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -50901,6 +52809,23 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_command) +"rKZ" = ( +/obj/structure/railing, +/obj/machinery/light/small/dim/directional/north, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) +"rLj" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/engineering/break_room) "rLk" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/turf_decal/box/corners{ @@ -50915,6 +52840,43 @@ /obj/machinery/door/poddoor/incinerator_ordmix, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) +"rLt" = ( +/obj/item/clothing/head/cone{ + pixel_x = -8; + pixel_y = 8 + }, +/obj/item/clothing/head/cone{ + pixel_x = -5; + pixel_y = -9 + }, +/obj/effect/decal/cleanable/glass/titanium, +/obj/effect/decal/cleanable/insectguts, +/obj/machinery/light/small/dim/directional/north, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"rLu" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate, +/obj/item/stock_parts/cell/high{ + pixel_x = -11; + pixel_y = 2 + }, +/obj/item/reagent_containers/cup/glass/bottle/vodka, +/obj/item/food/grown/citrus/orange, +/obj/item/food/grown/citrus/orange{ + pixel_x = 4; + pixel_y = 2 + }, +/obj/item/food/grown/grapes/green{ + pixel_y = -4; + pixel_x = -6 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/small, +/area/station/maintenance/department/engine/atmos) "rLw" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -50933,11 +52895,34 @@ /obj/machinery/light/small/dim/directional/north, /turf/open/misc/sandy_dirt, /area/station/maintenance/starboard/aft) +"rLN" = ( +/obj/structure/safe/vault, +/obj/item/lazarus_injector, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/turf/open/floor/iron/dark/herringbone, +/area/station/ai_monitored/command/nuke_storage) "rLT" = ( /obj/effect/turf_decal/siding/wood/corner, /obj/structure/flora/tree/jungle/small/style_random, /turf/open/floor/grass, /area/station/service/chapel) +"rLZ" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Turbine to Chamber" + }, +/turf/open/floor/iron/smooth, +/area/station/maintenance/disposal/incinerator) "rMa" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -50956,6 +52941,19 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) +"rMf" = ( +/obj/structure/table, +/obj/machinery/computer/arcade/orion_trail{ + desc = "For gamers only. Casuals need not apply."; + icon_screen = "library"; + icon_state = "oldcomp"; + name = "Gamer Computer"; + dir = 4; + pixel_y = 7 + }, +/obj/structure/sign/poster/contraband/random/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "rMl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -50979,9 +52977,13 @@ }, /turf/open/space/basic, /area/space/nearstation) -"rMn" = ( +"rMs" = ( /obj/structure/lattice/catwalk, +/obj/structure/cable, /obj/structure/railing{ + dir = 5 + }, +/obj/structure/railing/corner{ dir = 8 }, /turf/open/space/basic, @@ -51002,6 +53004,17 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai_upload) +"rMR" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 10 + }, +/obj/effect/turf_decal/tile/yellow/diagonal_centre, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/diagonal, +/area/station/engineering/lobby) "rMV" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -51056,6 +53069,15 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/command/gateway) +"rNI" = ( +/obj/effect/turf_decal/siding/thinplating_new/corner{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark/small, +/area/station/command/heads_quarters/ce) "rNJ" = ( /obj/effect/spawner/random/entertainment/arcade, /turf/open/floor/iron/cafeteria, @@ -51176,13 +53198,6 @@ }, /turf/open/floor/iron/smooth_large, /area/station/science/robotics/mechbay) -"rPo" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/engineering/atmos) "rPx" = ( /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 1 @@ -51220,9 +53235,22 @@ }, /turf/open/floor/iron/white, /area/station/security/medical) +"rPV" = ( +/obj/machinery/vending/tool, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 1 + }, +/obj/structure/sign/poster/official/random/directional/west, +/turf/open/floor/iron, +/area/station/engineering/main) "rQi" = ( /turf/closed/wall/r_wall, /area/station/engineering/main) +"rQm" = ( +/obj/structure/lattice, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "rQt" = ( /obj/effect/landmark/start/mime, /turf/open/floor/carpet/lone, @@ -51252,6 +53280,23 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/pharmacy, /turf/open/floor/iron/dark/small, /area/station/medical/pharmacy) +"rQH" = ( +/obj/structure/rack, +/obj/item/clothing/neck/petcollar, +/obj/item/flashlight/flare/candle{ + pixel_x = 10 + }, +/obj/item/flashlight/flare/candle{ + pixel_x = 8; + pixel_y = 1 + }, +/obj/item/screwdriver{ + pixel_y = 9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/station/maintenance/department/engine/atmos) "rQN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral{ @@ -51268,6 +53313,14 @@ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) +"rRe" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/supermatter/room) "rRf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -51286,13 +53339,6 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/space/basic, /area/space/nearstation) -"rRp" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "rRu" = ( /obj/structure/transit_tube/horizontal, /obj/effect/decal/cleanable/dirt, @@ -51389,13 +53435,6 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/coroner, /turf/open/floor/iron/small, /area/station/medical/morgue) -"rSw" = ( -/obj/machinery/vending/cigarette, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/break_room) "rSz" = ( /obj/structure/chair/comfy/brown{ buildstackamount = 0; @@ -51415,15 +53454,17 @@ "rST" = ( /turf/closed/wall, /area/station/cargo/storage) -"rTg" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"rSW" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, +/obj/effect/turf_decal/tile/yellow, +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, -/area/station/engineering/break_room) +/area/station/engineering/main) "rTj" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -51487,6 +53528,15 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) +"rUa" = ( +/obj/structure/railing, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/iron/stairs{ + dir = 4 + }, +/area/station/engineering/atmos) "rUb" = ( /obj/structure/hedge, /obj/machinery/status_display/evac/directional/east, @@ -51502,6 +53552,12 @@ }, /turf/open/floor/engine, /area/station/science/cytology) +"rUs" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Engineering - Decontamination B" + }, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/break_room) "rUt" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -51519,6 +53575,25 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/large, /area/station/hallway/secondary/spacebridge) +"rUD" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 5 + }, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer5{ + dir = 4 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "rUE" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/small, @@ -51568,6 +53643,15 @@ }, /turf/open/floor/iron/smooth_large, /area/station/science/auxlab/firing_range) +"rVA" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "rVH" = ( /obj/effect/turf_decal/tile/blue/fourcorners, /obj/structure/table/glass, @@ -51603,15 +53687,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/processing) -"rVV" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "rVX" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/side{ @@ -51658,6 +53733,13 @@ /obj/machinery/holopad, /turf/open/floor/iron/diagonal, /area/station/command/heads_quarters/hop) +"rWH" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/grimy, +/area/station/command/heads_quarters/ce) "rWM" = ( /obj/structure/table, /obj/item/exodrone{ @@ -51692,6 +53774,17 @@ dir = 1 }, /area/station/cargo/bitrunning/den) +"rWQ" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Engineering Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "engine_airlock_2" + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "rWW" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -51771,6 +53864,16 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/security/prison/workout) +"rYL" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/camera/directional/south{ + c_tag = "Engineering - CE Office" + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "rZc" = ( /obj/machinery/holopad, /obj/effect/turf_decal/box/white{ @@ -51778,19 +53881,6 @@ }, /turf/open/floor/iron, /area/station/medical/chemistry) -"rZh" = ( -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/atmos{ - name = "Central Atmospherics" - }, -/turf/open/floor/iron/smooth_half{ - dir = 1 - }, -/area/station/engineering/atmos) "rZi" = ( /obj/structure/cable, /obj/machinery/power/solar{ @@ -51824,6 +53914,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"rZu" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "rZG" = ( /obj/structure/closet/crate/trashcart, /obj/effect/spawner/random/trash/food_packaging, @@ -51866,34 +53961,24 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/carpet/blue, /area/station/cargo/boutique) +"sav" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 10 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "say" = ( /obj/machinery/hydroponics/constructable, /obj/effect/turf_decal/tile/blue/half, /obj/machinery/light/small/directional/south, /turf/open/floor/iron/white/small, /area/station/service/hydroponics) -"saD" = ( -/obj/machinery/camera/directional/south, -/obj/machinery/light/small/directional/south, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/table, -/obj/item/storage/box/mousetraps{ - pixel_x = -3; - pixel_y = 8 - }, -/obj/item/restraints/legcuffs/beartrap{ - pixel_x = 8; - pixel_y = 13 - }, -/obj/item/flashlight{ - pixel_y = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron/white/small, -/area/station/service/janitor) "saY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -51907,6 +53992,18 @@ /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/port) +"sbf" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing/corner, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos) "sbm" = ( /obj/structure/plasticflaps/opaque, /obj/machinery/duct, @@ -51931,12 +54028,6 @@ /obj/machinery/light_switch/directional/north, /turf/open/floor/iron/dark, /area/station/science/genetics) -"sbt" = ( -/obj/structure/table, -/obj/effect/turf_decal/bot, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/kitchen/small, -/area/station/hallway/secondary/service) "sbx" = ( /obj/structure/chair/sofa/bench/right{ dir = 8 @@ -51954,6 +54045,15 @@ /obj/machinery/atmospherics/pipe/heat_exchanging/simple, /turf/open/floor/iron/dark/small, /area/station/tcommsat/server) +"sbG" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/machinery/door/airlock/engineering/glass{ + name = "Freezer Room" + }, +/turf/open/floor/iron/textured_half, +/area/station/engineering/supermatter/room) "sbN" = ( /obj/machinery/rnd/server, /turf/open/floor/circuit, @@ -51991,20 +54091,6 @@ /obj/effect/landmark/start/research_director, /turf/open/floor/iron/grimy, /area/station/science/cubicle) -"scc" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) -"scg" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "scj" = ( /turf/closed/wall/r_wall, /area/station/science/lower) @@ -52083,6 +54169,13 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"sdF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "sdQ" = ( /obj/structure/cable, /obj/machinery/door/airlock/maintenance{ @@ -52103,6 +54196,14 @@ /obj/effect/turf_decal/siding/white/corner, /turf/open/floor/iron/dark/small, /area/station/science/xenobiology) +"sed" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/holopad, +/obj/effect/spawner/random/engineering/tracking_beacon, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) "sei" = ( /obj/effect/turf_decal/siding/thinplating_new/light{ dir = 8 @@ -52139,10 +54240,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/space/basic, /area/space/nearstation) -"sfb" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +"sfd" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 10 + }, +/turf/open/floor/engine/o2, +/area/station/engineering/atmos/space_catwalk) "sfh" = ( /obj/structure/table/wood, /obj/effect/turf_decal/tile/brown/full, @@ -52156,6 +54259,13 @@ }, /turf/open/floor/iron/smooth_large, /area/station/service/bar) +"sfl" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer2{ + dir = 1 + }, +/turf/open/space/basic, +/area/space/nearstation) "sfq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -52174,6 +54284,27 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"sfF" = ( +/obj/machinery/door/airlock/engineering{ + name = "Engineering Office" + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "atmos_airlock_1" + }, +/turf/open/floor/iron/smooth_half{ + dir = 8 + }, +/area/station/engineering/main) "sfK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -52313,6 +54444,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) +"shK" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/spawner/random/vending/snackvend, +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron, +/area/station/engineering/hallway) "shL" = ( /obj/machinery/door/airlock/external{ name = "Escape Pod One"; @@ -52430,6 +54569,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"sjZ" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "skc" = ( /obj/structure/chair/sofa/bench/right{ dir = 1 @@ -52539,6 +54686,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/small, /area/station/security/office) +"slC" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/structure/spider/stickyweb, +/obj/item/hfr_box/corner, +/turf/open/floor/plating, +/area/station/engineering/atmospherics_engine) "slG" = ( /obj/docking_port/stationary{ dir = 2; @@ -52585,6 +54740,20 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/station/security/detectives_office) +"smd" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/structure/cable, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/arrow_cw{ + dir = 6 + }, +/obj/effect/landmark/navigate_destination/incinerator, +/turf/open/floor/iron/smooth, +/area/station/maintenance/disposal/incinerator) "smf" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -52610,12 +54779,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/smooth_large, /area/station/science/robotics/mechbay) -"smo" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "smH" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -52639,19 +54802,28 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"sne" = ( +"snj" = ( +/obj/effect/spawner/structure/window/reinforced, /obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/turf_decal/stripes/corner, -/obj/structure/chair{ - pixel_y = -2 - }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 4 }, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "ceprivacy"; + name = "Chief's Privacy Shutters" + }, +/turf/open/floor/plating, +/area/station/engineering/lobby) +"snm" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/red/end{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "snn" = ( /obj/machinery/rnd/experimentor, /turf/open/floor/engine, @@ -52679,6 +54851,15 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/security/courtroom) +"snX" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/reflector/single/anchored{ + dir = 9 + }, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "snZ" = ( /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) @@ -52703,6 +54884,28 @@ dir = 1 }, /area/station/hallway/secondary/dock) +"son" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Gas to Filter" + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter) +"soo" = ( +/obj/structure/railing, +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos) "sor" = ( /obj/machinery/computer/exoscanner_control{ dir = 1 @@ -52714,18 +54917,24 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"sot" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/small, -/area/station/engineering/atmos) "sox" = ( /obj/effect/turf_decal/stripes/white/line, /obj/structure/transport/linear/tram, /obj/structure/tram, /turf/open/floor/tram, /area/station/security/tram) +"soB" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos/space_catwalk) +"soC" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light_switch/directional/west, +/turf/open/floor/plating, +/area/station/engineering/atmospherics_engine) "soD" = ( /obj/effect/turf_decal/siding/thinplating_new/dark/corner{ dir = 8 @@ -52755,6 +54964,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"soV" = ( +/obj/effect/spawner/random/engineering/canister, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"spa" = ( +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/plating/elevatorshaft, +/area/station/engineering/atmos) "spg" = ( /obj/effect/mapping_helpers/airlock/access/any/security/general, /obj/machinery/door/airlock/security{ @@ -52837,6 +55054,13 @@ dir = 1 }, /area/station/hallway/secondary/entry) +"sql" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 9 + }, +/obj/machinery/field/generator, +/turf/open/floor/iron/dark/small, +/area/station/engineering/storage_shared) "sqo" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -52864,6 +55088,13 @@ }, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs/auxiliary) +"sqB" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "sqV" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair/sofa/bench/left{ @@ -52888,23 +55119,10 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"srm" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/spawner/random/engineering/atmospherics_portable, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine) "srn" = ( /obj/structure/disposalpipe/segment, /turf/closed/wall, /area/station/maintenance/port/greater) -"sru" = ( -/obj/structure/tank_dispenser, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron, -/area/station/engineering/atmospherics_engine) "srA" = ( /obj/structure/chair/sofa/bench/left{ dir = 4 @@ -53009,6 +55227,10 @@ /obj/item/stock_parts/subspace/filter, /turf/open/floor/iron/dark, /area/station/engineering/storage/tcomms) +"ssP" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/visible, +/turf/closed/wall/r_wall, +/area/station/engineering/hallway) "ssY" = ( /obj/structure/cable, /turf/open/floor/wood, @@ -53021,6 +55243,13 @@ dir = 1 }, /area/station/maintenance/department/science/xenobiology) +"stm" = ( +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/break_room) "stP" = ( /obj/effect/turf_decal/siding{ dir = 1 @@ -53053,6 +55282,24 @@ /obj/effect/landmark/start/chief_medical_officer, /turf/open/floor/wood/parquet, /area/station/command/heads_quarters/cmo) +"sud" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/yellow/arrow_ccw{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 6 + }, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/iron/smooth, +/area/station/maintenance/disposal/incinerator) "sul" = ( /obj/effect/turf_decal/siding{ dir = 1 @@ -53109,6 +55356,18 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"svr" = ( +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/iron/textured_half, +/area/station/engineering/atmos) "svs" = ( /turf/closed/wall, /area/station/hallway/secondary/dock) @@ -53131,6 +55390,11 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/science/xenobiology) +"svB" = ( +/obj/structure/lattice, +/obj/structure/grille/broken, +/turf/open/space/basic, +/area/space/nearstation) "svD" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/flora/bush/flowers_yw, @@ -53141,6 +55405,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/station/science/explab) +"svK" = ( +/obj/machinery/light/cold/dim/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/status_display/evac/directional/south, +/turf/open/floor/iron/small, +/area/station/engineering/break_room) "svP" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/chair/office/light{ @@ -53182,6 +55456,20 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/medical/pharmacy) +"svY" = ( +/obj/effect/turf_decal/stripes/white/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/button/door/directional/west{ + id = "Secure Storage"; + name = "Engineering Secure Storage"; + pixel_y = -24; + req_access = list("engine_equip"); + pixel_x = 24 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark/small, +/area/station/engineering/supermatter/room) "svZ" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/decal/cleanable/dirt, @@ -53233,16 +55521,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/small, /area/station/maintenance/starboard/central) -"swI" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "swJ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -53271,6 +55549,20 @@ }, /turf/open/floor/grass, /area/station/cargo/storage) +"swT" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Engineering Maintenance" + }, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "swV" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/table/wood, @@ -53340,6 +55632,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"sxD" = ( +/obj/effect/turf_decal/siding/dark{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/carbon_input, +/turf/open/floor/engine/co2, +/area/station/engineering/atmos/space_catwalk) "sxF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -53374,6 +55673,13 @@ }, /turf/open/space/basic, /area/space) +"syc" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/nitrous_input, +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos/space_catwalk) "sye" = ( /obj/structure/flora/bush/fullgrass/style_random, /obj/structure/window/reinforced/spawner/directional/east, @@ -53422,14 +55728,6 @@ /obj/structure/flora/bush/flowers_yw/style_random, /turf/open/misc/sandy_dirt, /area/station/medical/medbay/lobby) -"syE" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/window/spawner/directional/west, -/obj/machinery/vending/medical, -/obj/machinery/camera/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/medical/medbay/central) "syG" = ( /obj/effect/spawner/xmastree, /turf/open/floor/grass, @@ -53526,6 +55824,14 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron/smooth_large, /area/station/service/bar) +"sAb" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer1{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer2, +/turf/open/space/basic, +/area/space/nearstation) "sAA" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/decal/cleanable/dirt, @@ -53541,6 +55847,37 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/station/maintenance/central/lesser) +"sAM" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 + }, +/obj/structure/closet/secure_closet/atmospherics, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light_switch/directional/south, +/obj/item/clothing/suit/hooded/wintercoat/engineering/atmos, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"sAW" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer5{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer4{ + dir = 8 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "sBm" = ( /obj/structure/transport/linear/tram, /obj/structure/fluff/tram_rail/floor, @@ -53600,6 +55937,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) +"sCm" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/dark, +/area/station/maintenance/department/engine/atmos) "sCp" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -53650,9 +55991,40 @@ /obj/effect/turf_decal/siding/purple, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) +"sDh" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, +/obj/machinery/camera/directional/east{ + c_tag = "Engineering - Engine Bay East" + }, +/obj/structure/sign/poster/official/random/directional/east, +/turf/open/floor/iron/smooth_edge{ + dir = 4 + }, +/area/station/engineering/supermatter/room) "sDj" = ( /turf/closed/wall/r_wall, /area/station/science/cytology) +"sDl" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/space_catwalk) +"sDo" = ( +/obj/effect/decal/cleanable/molten_object, +/obj/item/storage/box/gloves{ + pixel_y = -7; + pixel_x = -15 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "sDp" = ( /obj/structure/cable, /obj/structure/table, @@ -53681,15 +56053,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) -"sDD" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/modular_computer/preset/cargochat/service{ - dir = 4 - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron/kitchen/small, -/area/station/hallway/secondary/service) "sDT" = ( /obj/machinery/firealarm/directional/north, /obj/structure/cable, @@ -53697,6 +56060,12 @@ /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron, /area/station/hallway/secondary/spacebridge) +"sEj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/light/small/directional/east, +/turf/open/floor/catwalk_floor, +/area/station/engineering/break_room) "sEn" = ( /obj/item/clothing/head/cone, /obj/item/clothing/head/cone{ @@ -53757,14 +56126,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/prison) -"sFg" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/trimline/yellow/arrow_cw{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "sFk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -53869,10 +56230,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/fore/greater) -"sHg" = ( -/obj/machinery/air_sensor/nitrous_tank, -/turf/open/floor/engine/n2o, -/area/station/ai_monitored/turret_protected/ai) +"sHk" = ( +/obj/effect/turf_decal/sand/plating, +/obj/effect/spawner/random/structure/table, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "sHs" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -53882,6 +56245,31 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/fore/greater) +"sHH" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/portable_atmospherics/canister/plasma, +/obj/machinery/light/cold/directional/west, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/storage_shared) +"sHM" = ( +/obj/structure/railing, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/break_room) +"sHO" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating/elevatorshaft, +/area/station/engineering/main) "sHV" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, @@ -53893,20 +56281,6 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/engine, /area/station/science/cytology) -"sId" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold/dark/visible{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) -"sIg" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/engineering/break_room) "sIh" = ( /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron/stairs{ @@ -53934,6 +56308,11 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/fore/greater) +"sID" = ( +/obj/effect/turf_decal/arrows/white, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) "sIG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/sign/directions/evac/directional/west, @@ -53949,10 +56328,27 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"sIO" = ( +/obj/structure/grille/broken, +/obj/item/shard/titanium, +/obj/effect/decal/cleanable/glass/titanium, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "sIS" = ( /obj/structure/cable, /turf/open/floor/plating/rust, /area/station/maintenance/fore/greater) +"sIT" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/components/binary/valve, +/turf/open/floor/iron/smooth, +/area/station/maintenance/disposal/incinerator) "sIZ" = ( /obj/structure/table/wood, /obj/effect/spawner/random/bureaucracy/folder, @@ -54063,6 +56459,16 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"sKD" = ( +/obj/machinery/door/airlock/engineering{ + name = "Engine Airlock" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/engineering/construction, +/obj/structure/cable, +/obj/effect/landmark/navigate_destination, +/turf/open/floor/catwalk_floor, +/area/station/engineering/break_room) "sKE" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/white/small, @@ -54074,22 +56480,25 @@ /obj/effect/gibspawner, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) -"sKX" = ( -/obj/structure/table/reinforced/titaniumglass, -/obj/item/phone{ - pixel_x = 7; - pixel_y = 1 +"sLu" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/obj/item/reagent_containers/cup/glass/mug/coco{ - pixel_x = -6; - pixel_y = 5 +/obj/structure/table/greyscale, +/obj/item/weldingtool/mini/empty{ + pixel_x = 5; + pixel_y = -1 }, -/obj/machinery/camera/directional/east{ - c_tag = "Atmospherics - Closet" +/obj/item/storage/box/masks{ + pixel_x = 10; + pixel_y = 13 }, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/turf/open/floor/iron, -/area/station/engineering/atmos/storage/gas) +/obj/item/clothing/ears/earmuffs{ + pixel_x = -4; + pixel_y = 7 + }, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "sLB" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -54207,6 +56616,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/storage/tech) +"sNc" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 + }, +/obj/machinery/vending/wardrobe/atmos_wardrobe, +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/engineering/atmos) "sNg" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -54311,6 +56731,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/greater) +"sPk" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 4 + }, +/turf/open/floor/iron/stairs{ + dir = 4 + }, +/area/station/engineering/main) "sPt" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/green{ @@ -54353,6 +56784,17 @@ /obj/machinery/duct, /turf/open/floor/iron/freezer, /area/station/service/kitchen/coldroom) +"sQa" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/space/basic, +/area/space/nearstation) "sQb" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -54366,11 +56808,34 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"sQm" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) "sQn" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/turf_decal/tile/blue/anticorner/contrasted, /turf/open/floor/iron/white, /area/station/maintenance/central/greater) +"sQt" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing/corner, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/structure/cable, +/obj/structure/reflector/single{ + dir = 9 + }, +/turf/open/space/basic, +/area/space/nearstation) "sQv" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/spawner/random/structure/closet_empty/crate, @@ -54386,6 +56851,38 @@ /obj/structure/railing, /turf/open/floor/stone, /area/station/service/theater) +"sQI" = ( +/obj/effect/turf_decal/tile/blue, +/obj/machinery/modular_computer/preset/id, +/obj/machinery/button/ticket_machine{ + pixel_x = 9; + pixel_y = 23 + }, +/obj/machinery/button/door/directional/south{ + id = "hop"; + name = "Privacy Shutters Control"; + pixel_x = -2; + pixel_y = 23; + req_access = list("hop") + }, +/obj/machinery/button/door/directional/south{ + id = "hopqueue"; + name = "Queue Shutters Control"; + pixel_x = -13; + pixel_y = 23; + req_access = list("hop") + }, +/obj/machinery/button/flasher{ + id = "hopflash"; + pixel_x = -24; + pixel_y = 6 + }, +/obj/machinery/button/photobooth{ + pixel_y = -6; + pixel_x = -24 + }, +/turf/open/floor/iron/dark/textured_corner, +/area/station/command/heads_quarters/hop) "sQS" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -54409,6 +56906,12 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics) +"sRf" = ( +/obj/machinery/power/turbine/inlet_compressor{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/maintenance/disposal/incinerator) "sRg" = ( /turf/closed/wall, /area/station/commons/storage/tools) @@ -54421,12 +56924,6 @@ dir = 8 }, /area/station/science/lobby) -"sRm" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 5 - }, -/turf/open/space/basic, -/area/space/nearstation) "sRv" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/left/directional/west{ @@ -54439,12 +56936,6 @@ "sRL" = ( /turf/closed/wall, /area/station/service/janitor) -"sRP" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/grille, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "sRR" = ( /obj/structure/disposalpipe/segment, /obj/structure/disposalpipe/segment{ @@ -54460,25 +56951,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/commons/fitness/recreation/entertainment) -"sSm" = ( -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/engineering/atmos) "sSq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -54528,6 +57000,9 @@ /obj/item/folder/yellow, /turf/open/floor/iron, /area/station/cargo/sorting) +"sSB" = ( +/turf/open/floor/catwalk_floor, +/area/station/engineering/break_room) "sSK" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -54535,6 +57010,16 @@ /obj/structure/table_frame, /turf/open/floor/iron, /area/station/cargo/sorting) +"sSM" = ( +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/textured_half, +/area/station/engineering/atmos) "sSQ" = ( /turf/closed/wall, /area/station/maintenance/department/medical/central) @@ -54618,11 +57103,6 @@ }, /turf/open/space/basic, /area/space/nearstation) -"sTH" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron, -/area/station/engineering/break_room) "sTK" = ( /obj/machinery/telecomms/bus/preset_one, /turf/open/floor/circuit, @@ -54644,6 +57124,13 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) +"sTW" = ( +/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "sUe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, @@ -54654,6 +57141,13 @@ }, /turf/open/floor/iron, /area/station/security/courtroom) +"sUk" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Fuel Pipe to Incinerator" + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "sUy" = ( /turf/closed/wall/r_wall, /area/station/command/meeting_room) @@ -54680,6 +57174,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/checker, /area/station/security/breakroom) +"sUV" = ( +/obj/structure/table, +/obj/item/folder/yellow, +/obj/item/pen{ + pixel_x = 6; + pixel_y = 4 + }, +/turf/open/floor/iron/small, +/area/station/maintenance/department/engine/atmos) "sUZ" = ( /obj/structure/disposalpipe/segment, /obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ @@ -54709,6 +57212,16 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) +"sVu" = ( +/obj/machinery/light/cold/dim/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/sign/warning/no_smoking/circle/directional/south, +/turf/open/floor/iron/small, +/area/station/engineering/break_room) "sVA" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/vending/colavend, @@ -54724,16 +57237,6 @@ "sVN" = ( /turf/closed/wall/r_wall, /area/station/security/prison/workout) -"sWm" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "sWq" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/siding/purple{ @@ -54754,6 +57257,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/grimy, /area/station/maintenance/starboard/greater) +"sWE" = ( +/obj/machinery/light/broken/directional/south, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "sWJ" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -54774,12 +57281,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) -"sXe" = ( -/obj/structure/cable, -/obj/machinery/power/smes/full, -/obj/machinery/status_display/ai/directional/north, -/turf/open/floor/iron/smooth, -/area/station/ai_monitored/turret_protected/aisat/equipment) "sXi" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, @@ -54788,6 +57289,13 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/service/theater) +"sXm" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/maintenance/department/engine/atmos) "sXo" = ( /obj/structure/sign/directions/engineering{ dir = 1; @@ -54864,6 +57372,13 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/engine, /area/station/science/cytology) +"sYg" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 9 + }, +/turf/open/space/basic, +/area/space/nearstation) "sYo" = ( /obj/effect/spawner/random/entertainment/arcade, /obj/machinery/airalarm/directional/north, @@ -54920,9 +57435,6 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/plating, /area/station/service/theater) -"sZu" = ( -/turf/closed/wall/rust, -/area/station/maintenance/department/engine) "sZx" = ( /obj/structure/cable, /obj/structure/disposalpipe/trunk{ @@ -54991,6 +57503,16 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/security/courtroom) +"tau" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/status_display/evac/directional/south, +/obj/machinery/computer/security/telescreen/entertainment/directional/east, +/obj/machinery/modular_computer/preset/engineering{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/break_room) "tax" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -55010,6 +57532,22 @@ }, /turf/open/floor/iron/dark/small, /area/station/security/checkpoint/customs/auxiliary) +"taK" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 5 + }, +/obj/structure/cable, +/obj/machinery/meter, +/turf/open/floor/iron/smooth_corner{ + dir = 8 + }, +/area/station/engineering/supermatter/room) "taL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -55055,6 +57593,17 @@ /obj/machinery/duct, /turf/open/floor/wood, /area/station/hallway/secondary/service) +"tbr" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/mapping_helpers/airlock/abandoned, +/obj/machinery/door/airlock/grunge{ + name = "Abandoned Control Booth" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/textured_half, +/area/station/maintenance/department/engine/atmos) "tbu" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -55094,6 +57643,12 @@ }, /turf/open/floor/iron/dark, /area/station/science/genetics) +"tbX" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer2, +/turf/open/space/basic, +/area/space/nearstation) "tca" = ( /turf/open/floor/carpet/donk, /area/station/command/heads_quarters/qm) @@ -55140,6 +57695,17 @@ dir = 1 }, /area/station/hallway/primary/central/fore) +"tcZ" = ( +/obj/effect/turf_decal/siding/red{ + dir = 6 + }, +/obj/machinery/camera/emp_proof{ + c_tag = "Engineering - Atmospherics CO2 Chamber"; + dir = 5; + network = list("ss13","engineering") + }, +/turf/open/floor/engine/n2, +/area/station/engineering/atmos/space_catwalk) "tdg" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/flora/bush/flowers_br/style_random, @@ -55221,6 +57787,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/station/science/explab) +"tdY" = ( +/obj/structure/closet/emcloset, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating/rust, +/area/station/maintenance/department/electrical) "tec" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -55310,21 +57882,6 @@ /obj/effect/mapping_helpers/airlock/access/all/science/rd, /turf/open/floor/catwalk_floor/flat_white, /area/station/science/server) -"tfl" = ( -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Air to Pure" - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/station/engineering/atmos) "tfy" = ( /obj/structure/closet/firecloset, /obj/effect/turf_decal/tile/red{ @@ -55332,11 +57889,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/hallway/secondary/exit/departure_lounge) -"tfC" = ( -/obj/structure/cable, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "tfE" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -55380,6 +57932,14 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/wood/tile, /area/station/command/heads_quarters/hop) +"tgD" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/engineering/atmospherics_engine) "tgJ" = ( /obj/machinery/cryo_cell, /obj/effect/turf_decal/stripes/line{ @@ -55405,6 +57965,14 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/service/cafeteria) +"thb" = ( +/obj/structure/chair/stool/directional/south, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/wood, +/area/station/engineering/break_room) "the" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -55424,12 +57992,34 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/textured_large, /area/station/service/hydroponics) +"thI" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 9 + }, +/obj/machinery/meter, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/light/cold/directional/east, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "thM" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/structure/closet/secure_closet/miner, /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/cargo/miningoffice) +"tic" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos) "tii" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -55451,6 +58041,11 @@ }, /turf/open/misc/sandy_dirt, /area/station/security/tram) +"tit" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/plating, +/area/station/engineering/atmos/storage/gas) "tiC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/firedoor, @@ -55478,6 +58073,29 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/dark, /area/station/science/lab) +"tiS" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer5{ + dir = 5 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) +"tiU" = ( +/obj/machinery/atmospherics/pipe/smart/simple/pink/visible{ + dir = 5 + }, +/obj/machinery/meter, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/station/engineering/supermatter) "tiW" = ( /obj/structure/chair{ pixel_y = -2 @@ -55503,9 +58121,27 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/port) +"tjd" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden, +/obj/machinery/door/poddoor/preopen{ + id = "Engineering"; + name = "Engineering Security Doors" + }, +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/engineering/lobby) "tjj" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/ai_upload) +"tjH" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/airalarm/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/small, +/area/station/engineering/supermatter/room) "tkp" = ( /obj/machinery/door/airlock/public/glass{ name = "Services Corridor" @@ -55519,6 +58155,13 @@ /obj/structure/barricade/wooden/crude, /turf/open/floor/plating, /area/station/maintenance/central/lesser) +"tkN" = ( +/obj/structure/closet/crate, +/obj/item/camera, +/obj/item/c_tube, +/obj/item/broken_bottle, +/turf/open/floor/iron, +/area/station/maintenance/department/engine/atmos) "tkS" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -55543,16 +58186,10 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"tly" = ( +"tlC" = ( /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/catwalk_floor/iron_white, -/area/station/engineering/atmos) +/turf/closed/wall/r_wall, +/area/station/maintenance/department/electrical) "tlI" = ( /obj/structure/flora/bush/fullgrass/style_random, /obj/structure/flora/rock/pile/jungle/style_random, @@ -55572,10 +58209,24 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/diagonal, /area/station/hallway/primary/central/aft) +"tmk" = ( +/obj/machinery/power/emitter, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/iron/dark/small, +/area/station/engineering/storage_shared) "tms" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"tmL" = ( +/obj/structure/lattice, +/obj/structure/transit_tube/curved/flipped{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) "tmQ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -55651,22 +58302,24 @@ }, /turf/open/floor/tram, /area/station/maintenance/port/aft) +"tnF" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/maintenance/department/engine/atmos) +"tnH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "tnO" = ( /obj/structure/cable, /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/central/lesser) -"tod" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "tof" = ( /turf/closed/wall/rust, /area/station/ai_monitored/turret_protected/ai) @@ -55749,23 +58402,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"toL" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/atmos{ - name = "Central Atmospherics" - }, -/turf/open/floor/iron/smooth_half{ - dir = 1 - }, -/area/station/engineering/atmos) +"toK" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/suit_storage_unit/atmos, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light_switch/directional/east, +/turf/open/floor/plating, +/area/station/engineering/atmos/office) "toT" = ( /obj/structure/flora/rock/pile/jungle/style_random, /obj/structure/window/reinforced/spawner/directional/west, @@ -55787,13 +58430,6 @@ /obj/effect/turf_decal/tile/dark_red/half/contrasted, /turf/open/floor/iron, /area/station/security/brig/entrance) -"tpd" = ( -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/smart/simple/pink/visible{ - dir = 9 - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/station/engineering/supermatter) "tpk" = ( /obj/machinery/vending/wardrobe/law_wardrobe, /obj/effect/turf_decal/siding/wood{ @@ -55817,13 +58453,6 @@ }, /turf/open/floor/wood, /area/station/commons/fitness/recreation) -"tpH" = ( -/obj/structure/rack, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/maintenance, -/obj/item/pickaxe, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine) "tpK" = ( /obj/effect/turf_decal/trimline/white/warning{ dir = 4 @@ -55942,11 +58571,6 @@ dir = 1 }, /area/station/hallway/secondary/dock) -"trd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "trk" = ( /obj/effect/turf_decal/bot, /obj/effect/mapping_helpers/broken_floor, @@ -55972,6 +58596,16 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"trA" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron/dark/small, +/area/station/engineering/supermatter/room) "trI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -55998,6 +58632,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/tram) +"tsl" = ( +/obj/effect/landmark/atmospheric_sanity/ignore_area, +/obj/structure/chair/plastic{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "tst" = ( /obj/machinery/atmospherics/pipe/smart/simple/general/visible{ dir = 4 @@ -56022,11 +58664,17 @@ "tsF" = ( /turf/closed/wall/r_wall, /area/station/hallway/primary/central/fore) -"tsL" = ( -/obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/slime, -/turf/open/floor/engine, -/area/station/science/xenobiology) +"tsR" = ( +/obj/machinery/electrolyzer, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/disposal/incinerator) +"ttg" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "tts" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -56118,13 +58766,6 @@ "tuZ" = ( /turf/closed/wall, /area/station/security/brig/entrance) -"tvg" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/modular_computer/preset/cargochat/medical{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/medbay/central) "tvM" = ( /obj/structure/flora/bush/fullgrass/style_random, /obj/structure/flora/bush/flowers_br/style_random, @@ -56246,6 +58887,14 @@ }, /turf/open/floor/iron/small, /area/station/hallway/primary/central/fore) +"twL" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/structure/dresser, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/grimy, +/area/station/command/heads_quarters/ce) "twN" = ( /obj/machinery/door/airlock{ name = "Maintenance" @@ -56280,6 +58929,13 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) +"txd" = ( +/obj/effect/turf_decal/siding/dark{ + dir = 8 + }, +/obj/machinery/air_sensor/carbon_tank, +/turf/open/floor/engine/co2, +/area/station/engineering/atmos/space_catwalk) "txh" = ( /turf/closed/wall/r_wall, /area/station/command/corporate_suite) @@ -56292,6 +58948,18 @@ "txN" = ( /turf/closed/wall, /area/station/security/prison/workout) +"txS" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) "txV" = ( /obj/machinery/button/door/directional/east{ id = "AuxToilet3"; @@ -56333,6 +59001,22 @@ /obj/effect/mapping_helpers/airlock/access/all/command/captain, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_command) +"tyu" = ( +/obj/structure/railing/corner/end{ + dir = 4 + }, +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/turf/open/floor/iron/dark/small, +/area/station/engineering/supermatter/room) "tyx" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -56363,6 +59047,19 @@ dir = 4 }, /area/station/science/ordnance/testlab) +"tzh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos) "tzo" = ( /obj/structure/alien/egg/burst, /obj/structure/alien/weeds, @@ -56415,14 +59112,6 @@ }, /turf/open/floor/plating, /area/station/service/janitor) -"tzF" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/steam_vent, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine) "tzH" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/vending/wardrobe/gene_wardrobe, @@ -56435,6 +59124,21 @@ /obj/structure/flora/bush/flowers_yw/style_random, /turf/open/floor/grass, /area/station/service/chapel) +"tAm" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/hallway) "tAq" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance, @@ -56594,6 +59298,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/prison/workout) +"tCc" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing, +/obj/structure/railing/corner/end{ + dir = 8 + }, +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) "tCk" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -56657,6 +59372,20 @@ /obj/machinery/shower/directional/west, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) +"tDl" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 5 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "tDn" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/prison) @@ -56787,6 +59516,13 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"tFB" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister, +/turf/open/floor/iron, +/area/station/engineering/atmos) "tFE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -56863,6 +59599,9 @@ /obj/machinery/computer/records/security, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs) +"tGK" = ( +/turf/closed/wall/rust, +/area/station/maintenance/department/electrical) "tGU" = ( /obj/structure/closet/emcloset, /obj/effect/turf_decal/tile/blue, @@ -56870,6 +59609,13 @@ dir = 4 }, /area/station/hallway/secondary/entry) +"tHa" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/storage_shared) "tHh" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -56902,6 +59648,14 @@ /obj/machinery/research/anomaly_refinery, /turf/open/floor/iron/white/small, /area/station/science/ordnance/storage) +"tHY" = ( +/obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible, +/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "tIc" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -56930,6 +59684,18 @@ /obj/effect/turf_decal/tile/green/diagonal_centre, /turf/open/floor/iron/diagonal, /area/station/hallway/primary/central/aft) +"tIB" = ( +/obj/item/clothing/head/cone{ + pixel_x = 16; + pixel_y = 7 + }, +/obj/item/clothing/head/cone{ + pixel_x = -1; + pixel_y = -5 + }, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "tIE" = ( /turf/closed/wall/mineral/titanium, /area/station/commons/fitness/recreation/entertainment) @@ -56946,6 +59712,22 @@ /obj/effect/turf_decal/tile/green/diagonal_centre, /turf/open/floor/iron/diagonal, /area/station/hallway/primary/central/aft) +"tIN" = ( +/obj/structure/table/reinforced, +/obj/item/folder/yellow{ + pixel_x = 2; + pixel_y = 7 + }, +/obj/item/toy/figure/engineer{ + pixel_y = 11; + pixel_x = 17 + }, +/obj/item/geiger_counter{ + pixel_x = 7; + pixel_y = 3 + }, +/turf/open/floor/wood, +/area/station/engineering/break_room) "tJe" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 1 @@ -57022,11 +59804,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/fitness/recreation/entertainment) -"tJO" = ( -/obj/effect/spawner/structure/window/reinforced/plasma, -/obj/machinery/atmospherics/pipe/smart/simple/brown/visible, -/turf/open/floor/plating, -/area/station/engineering/atmos) "tJX" = ( /turf/open/floor/plating, /area/station/maintenance/aft) @@ -57084,23 +59861,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/station/security/processing) -"tKO" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/button/door/directional/east{ - id = "engsm"; - name = "Radiation Shutters Control"; - req_access = list("engineering") - }, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/meter, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "tKR" = ( /obj/structure/cable, /obj/machinery/power/smes, @@ -57168,6 +59928,16 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"tMm" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, +/obj/machinery/meter, +/turf/open/floor/iron/smooth_edge{ + dir = 8 + }, +/area/station/engineering/supermatter/room) "tMs" = ( /obj/structure/cable, /obj/machinery/telecomms/server/presets/service, @@ -57192,6 +59962,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"tMJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "tMR" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -57271,6 +60048,26 @@ /obj/structure/bed/maint, /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) +"tNH" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/table/reinforced/titaniumglass, +/obj/item/clothing/gloves/color/red/insulated, +/obj/item/clothing/ears/earmuffs{ + pixel_x = 7; + pixel_y = 6 + }, +/obj/item/storage/belt/utility, +/obj/item/clothing/glasses/meson{ + pixel_y = -1; + pixel_x = -14 + }, +/obj/item/clothing/glasses/meson{ + pixel_y = 3; + pixel_x = -14 + }, +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "tNS" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -57290,6 +60087,17 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron/kitchen/small, /area/station/maintenance/aft) +"tNV" = ( +/obj/structure/closet/secure_closet/engineering_welding, +/obj/effect/turf_decal/bot, +/obj/structure/sign/poster/official/random/directional/north, +/obj/item/airlock_painter, +/turf/open/floor/iron/small, +/area/station/engineering/break_room) +"tOc" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "tOk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -57416,6 +60224,15 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/storage/tcomms) +"tQZ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2, +/obj/machinery/light/small/directional/east, +/obj/structure/sign/warning/fire/directional/east, +/turf/open/floor/iron/smooth, +/area/station/maintenance/disposal/incinerator) "tRc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -57435,6 +60252,14 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron, /area/station/security/courtroom) +"tRj" = ( +/obj/structure/closet/secure_closet/engineering_personal, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/clothing/suit/hooded/wintercoat/engineering, +/turf/open/floor/catwalk_floor, +/area/station/engineering/supermatter/room) "tRp" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -57446,6 +60271,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/commons/fitness/recreation/entertainment) +"tRw" = ( +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron/white/side{ + dir = 4 + }, +/area/station/science/research) "tRE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -57461,6 +60296,15 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/white, /area/station/maintenance/central/greater) +"tRM" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/table/wood, +/obj/machinery/camera/directional/south{ + c_tag = "Atmospherics - South" + }, +/obj/item/stack/cable_coil/five, +/turf/open/floor/plating, +/area/station/commons/vacant_room/commissary) "tSe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/stripes/line{ @@ -57471,10 +60315,24 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"tSg" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, +/obj/machinery/light_switch/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "tSh" = ( /obj/item/kirbyplants/random, /turf/open/floor/wood, /area/station/hallway/secondary/service) +"tSi" = ( +/obj/machinery/light/cold/directional/west, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/box, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "tSn" = ( /obj/effect/turf_decal/tile/red/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -57525,10 +60383,25 @@ }, /turf/open/floor/iron/kitchen/small, /area/station/security/prison/mess) -"tTd" = ( -/obj/effect/turf_decal/sand/plating, +"tSN" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 10 + }, /turf/open/floor/plating, -/area/station/maintenance/department/engine) +/area/station/engineering/supermatter) +"tSV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 5 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/iron/smooth_corner{ + dir = 4 + }, +/area/station/engineering/supermatter/room) "tTg" = ( /obj/structure/table, /obj/item/trash/cheesie{ @@ -57584,11 +60457,12 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/grass, /area/station/service/chapel) -"tTR" = ( -/obj/effect/spawner/structure/window/reinforced/plasma, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, -/turf/open/floor/plating, -/area/station/engineering/atmos) +"tTK" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/iron/smooth_edge, +/area/station/engineering/supermatter/room) "tTW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -57726,22 +60600,19 @@ }, /turf/open/floor/plating, /area/station/science/robotics/lab) +"tVN" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 6 + }, +/obj/machinery/meter, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/station/engineering/supermatter) "tVR" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, /turf/open/floor/iron, /area/station/cargo/storage) -"tWj" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "tWo" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -57814,12 +60685,15 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"tXK" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/machinery/vending/wardrobe/atmos_wardrobe, +"tXL" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, -/area/station/engineering/atmospherics_engine) +/area/station/engineering/lobby) "tXP" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/green/opposingcorners{ @@ -57827,6 +60701,14 @@ }, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"tXS" = ( +/obj/structure/closet/secure_closet/engineering_personal, +/obj/structure/cable, +/obj/structure/sign/poster/official/random/directional/north, +/obj/machinery/light/small/directional/west, +/obj/item/clothing/suit/hooded/wintercoat/engineering, +/turf/open/floor/catwalk_floor, +/area/station/engineering/supermatter/room) "tXT" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -57865,6 +60747,16 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/smooth, /area/station/cargo/drone_bay) +"tYn" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 6 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "tYq" = ( /turf/closed/wall, /area/station/security/execution/transfer) @@ -57875,6 +60767,15 @@ }, /turf/open/floor/iron/cafeteria, /area/station/hallway/secondary/exit/departure_lounge) +"tYC" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/storage/gas) "tYH" = ( /obj/machinery/airalarm/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -57987,6 +60888,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"tZI" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "tZJ" = ( /obj/structure/chair/sofa/bench/left{ dir = 8 @@ -57996,6 +60904,12 @@ dir = 4 }, /area/station/hallway/secondary/entry) +"tZP" = ( +/obj/machinery/recharge_station, +/obj/effect/turf_decal/bot, +/obj/machinery/light/cold/dim/directional/east, +/turf/open/floor/iron, +/area/station/engineering/main) "tZR" = ( /obj/effect/turf_decal/tile/neutral/full, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -58031,6 +60945,14 @@ /obj/machinery/smartfridge/chemistry/virology/preloaded, /turf/open/floor/iron/white, /area/station/medical/virology) +"uah" = ( +/obj/item/mop, +/obj/item/reagent_containers/cup/bucket/wooden{ + pixel_x = 9; + pixel_y = -6 + }, +/turf/open/floor/plating, +/area/station/engineering/atmospherics_engine) "uao" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 8 @@ -58054,6 +60976,14 @@ /obj/structure/flora/tree/jungle/small/style_random, /turf/open/floor/grass, /area/station/service/chapel) +"uaK" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/engineering/atmos) "uaP" = ( /obj/structure/mirror/directional/east, /obj/structure/chair/stool/bar/directional/east, @@ -58064,6 +60994,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/small, /area/station/commons/fitness/locker_room) +"uaT" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/item/radio/intercom/directional/east, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "uaV" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/window/reinforced/spawner/directional/north, @@ -58073,6 +61016,17 @@ }, /turf/open/floor/iron/dark, /area/station/science/genetics) +"uaZ" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "ubb" = ( /obj/structure/chair/sofa/bench/right{ dir = 8 @@ -58090,6 +61044,27 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"ubh" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ + dir = 4 + }, +/obj/structure/closet/crate, +/obj/item/lead_pipe, +/obj/item/pipe_dispenser, +/obj/item/stack/pipe_cleaner_coil, +/obj/item/pipe, +/obj/item/pipe, +/obj/item/pipe, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) +"ubs" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/turf/open/space/basic, +/area/space/nearstation) "uby" = ( /turf/closed/wall, /area/station/security/prison/garden) @@ -58285,6 +61260,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"udP" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/iron, +/area/station/engineering/atmos/space_catwalk) "udZ" = ( /obj/structure/chair/sofa/bench/left{ dir = 8 @@ -58335,6 +61316,28 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) +"ueH" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "hop"; + name = "Privacy Shutters" + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/brigdoor/right/directional/east{ + name = "Head of Personnel's Desk"; + req_access = list("hop") + }, +/obj/machinery/door/window/left/directional/west{ + name = "Reception Window" + }, +/obj/structure/desk_bell{ + pixel_x = 7 + }, +/turf/open/floor/iron/textured_large, +/area/station/command/heads_quarters/hop) "ueX" = ( /turf/closed/wall/rust, /area/station/maintenance/port/fore) @@ -58380,12 +61383,15 @@ /obj/effect/turf_decal/trimline/neutral/line, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"ugb" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron, -/area/station/engineering/break_room) +"ufR" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/machinery/door/airlock/engineering/glass{ + name = "Freezer Room" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor, +/area/station/engineering/supermatter/room) "uge" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -58414,6 +61420,15 @@ /obj/machinery/holopad, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"ugA" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/machinery/computer/station_alert{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/engineering/break_room) "ugC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -58423,6 +61438,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"ugF" = ( +/obj/machinery/power/emitter, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/iron/dark/small, +/area/station/engineering/storage_shared) "ugH" = ( /obj/effect/turf_decal/siding/thinplating_new{ dir = 8 @@ -58463,6 +61485,12 @@ }, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) +"uhh" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, +/turf/open/floor/iron/stairs/left{ + dir = 1 + }, +/area/station/engineering/atmos) "uhj" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -58534,6 +61562,14 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/dark/small, /area/station/medical/chemistry) +"uic" = ( +/obj/machinery/computer/atmos_alert{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/computer/security/telescreen/entertainment/directional/north, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/office) "uid" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -58665,6 +61701,11 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"ukA" = ( +/obj/machinery/pipedispenser/disposal, +/obj/structure/spider/stickyweb, +/turf/open/floor/iron/dark, +/area/station/maintenance/department/engine/atmos) "ukB" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58747,6 +61788,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"umn" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "South Ports to Wastes" + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "umr" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/white/line{ @@ -58754,6 +61808,9 @@ }, /turf/open/floor/engine, /area/station/science/explab) +"ums" = ( +/turf/closed/wall/r_wall, +/area/station/security/checkpoint/engineering) "umx" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 9 @@ -58801,6 +61858,13 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"unG" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/nitrogen, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "unK" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, @@ -58864,6 +61928,14 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"upf" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/light/cold/dim/directional/south, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "upg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/firedoor, @@ -58924,6 +61996,15 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/hallway/primary/starboard) +"upG" = ( +/obj/structure/railing, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light_switch/directional/north, +/turf/open/floor/iron/stairs/old{ + dir = 4 + }, +/area/station/command/heads_quarters/ce) "upP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58938,6 +62019,13 @@ /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"uqe" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 6 + }, +/turf/open/space/basic, +/area/space/nearstation) "uql" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -58949,6 +62037,19 @@ "uqw" = ( /turf/closed/wall/r_wall, /area/station/commons/fitness/recreation) +"uqA" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Mix Outlet Pump" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/light/cold/directional/east, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "uqH" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58987,6 +62088,26 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/cafeteria, /area/station/science/breakroom) +"urg" = ( +/obj/machinery/door/airlock/engineering{ + name = "Engineering Office" + }, +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "atmos_airlock_1" + }, +/turf/open/floor/iron/smooth_half{ + dir = 8 + }, +/area/station/engineering/main) "urh" = ( /obj/structure/closet/firecloset, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -59046,6 +62167,10 @@ }, /turf/open/floor/iron, /area/station/security) +"urz" = ( +/obj/structure/cable, +/turf/closed/wall/r_wall, +/area/station/engineering/supermatter/room) "urB" = ( /obj/effect/turf_decal/siding/white{ dir = 1 @@ -59053,6 +62178,11 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark/small, /area/station/hallway/secondary/dock) +"urE" = ( +/obj/structure/filingcabinet/chestdrawer, +/obj/machinery/light/cold/dim/directional/west, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "urM" = ( /obj/effect/turf_decal/tile/dark_red/fourcorners, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -59093,6 +62223,16 @@ "usJ" = ( /turf/open/floor/iron/kitchen/small, /area/station/maintenance/aft) +"utf" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/thermomachine/heater/on{ + dir = 8; + initialize_directions = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "uth" = ( /obj/effect/turf_decal/plaque{ icon_state = "L2" @@ -59107,6 +62247,13 @@ /obj/machinery/status_display/ai/directional/south, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) +"utv" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/engineering/atmos/space_catwalk) "uty" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -59193,6 +62340,16 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron/dark, /area/station/service/lawoffice) +"uus" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 6 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Engineering - Lockers" + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark/small, +/area/station/engineering/supermatter/room) "uuv" = ( /obj/effect/turf_decal/plaque{ icon_state = "L4" @@ -59239,6 +62396,19 @@ }, /turf/open/floor/catwalk_floor, /area/station/ai_monitored/command/nuke_storage) +"uvo" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Pure to Mix Chamber" + }, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 8 + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/pumproom) "uvu" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -59255,6 +62425,20 @@ "uvA" = ( /turf/closed/wall/r_wall, /area/station/command/gateway) +"uvB" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/arrow_ccw{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 5 + }, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) "uwl" = ( /obj/effect/turf_decal/plaque{ icon_state = "L6" @@ -59371,13 +62555,13 @@ /obj/structure/broken_flooring/singular/directional/south, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"uyE" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 +"uyB" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Atmospherics Project Bay" }, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/engineering/atmos) "uyH" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -59427,6 +62611,13 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/aft) +"uzI" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer2{ + dir = 10 + }, +/turf/open/floor/engine, +/area/station/maintenance/disposal/incinerator) "uzJ" = ( /turf/open/floor/iron, /area/station/cargo/storage) @@ -59502,6 +62693,12 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/wood/tile, /area/station/command/bridge) +"uAT" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 9 + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/station/engineering/supermatter) "uAV" = ( /obj/structure/cable, /obj/machinery/duct, @@ -59520,15 +62717,15 @@ "uBc" = ( /turf/closed/wall/r_wall, /area/station/security/brig/entrance) -"uBg" = ( -/obj/effect/turf_decal/tile/yellow{ +"uBj" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 8 + }, +/obj/structure/chair/office/light{ dir = 4 }, -/obj/effect/turf_decal/tile/yellow, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/iron, +/obj/effect/landmark/start/chief_engineer, +/turf/open/floor/wood, /area/station/engineering/break_room) "uBl" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -59564,6 +62761,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/stairs, /area/station/engineering/storage/tech) +"uBM" = ( +/obj/machinery/door/poddoor/preopen{ + id = "Engineering"; + name = "Engineering Security Doors" + }, +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/engineering/lobby) "uBQ" = ( /obj/structure/table/bronze, /obj/machinery/microwave{ @@ -59576,6 +62782,27 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/side, /area/station/hallway/primary/starboard) +"uCa" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer5{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/components/trinary/mixer/airmix/flipped{ + dir = 4; + piping_layer = 2 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "uCe" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/broken_floor, @@ -59613,6 +62840,22 @@ /obj/effect/spawner/xmastree, /turf/open/floor/iron/cafeteria, /area/station/service/cafeteria) +"uCE" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 5 + }, +/obj/structure/railing, +/turf/open/floor/iron/small, +/area/station/engineering/supermatter/room) +"uCH" = ( +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/light/cold/dim/directional/east, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/plating, +/area/station/engineering/atmos/storage/gas) "uCJ" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -59623,6 +62866,16 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/service/theater) +"uCL" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) "uDg" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -59751,11 +63004,6 @@ }, /turf/open/floor/iron/dark/small, /area/station/security/brig) -"uEV" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "uFc" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -59793,6 +63041,17 @@ /obj/structure/cable, /turf/open/floor/iron/textured_half, /area/station/security/lockers) +"uFy" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/space/basic, +/area/space/nearstation) "uFA" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59825,6 +63084,15 @@ /obj/structure/window/spawner/directional/south, /turf/open/floor/plating, /area/station/service/chapel/funeral) +"uFT" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/light/cold/directional/south, +/turf/open/floor/iron/stairs{ + dir = 4 + }, +/area/station/engineering/atmos/office) "uGj" = ( /obj/effect/turf_decal/tile/green/half/contrasted, /obj/structure/table/glass, @@ -59847,6 +63115,10 @@ /obj/structure/sign/warning/no_smoking/circle/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/port) +"uGy" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "uGA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -59868,6 +63140,28 @@ dir = 1 }, /area/station/hallway/primary/starboard) +"uGB" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/hallway) +"uGH" = ( +/obj/machinery/rnd/production/circuit_imprinter, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 1 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Engineering - Supplies" + }, +/obj/structure/sign/poster/official/random/directional/east, +/turf/open/floor/iron, +/area/station/engineering/main) "uGK" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance, @@ -59894,6 +63188,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/small, /area/station/security/brig) +"uGS" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/camera/directional/north{ + c_tag = "Atmospherics - PROJECT" + }, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "uGT" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -59963,6 +63264,15 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) +"uHq" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing, +/turf/open/space/basic, +/area/space/nearstation) "uHv" = ( /obj/structure/rack, /obj/item/pipe_dispenser, @@ -60054,6 +63364,22 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"uIX" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/modular_computer/preset/civilian{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/department/engine/atmos) +"uJd" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold/green/visible, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) +"uJC" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/engineering/atmos) "uJD" = ( /obj/structure/chair/sofa/bench/right{ dir = 1 @@ -60067,6 +63393,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/maintenance/fore/greater) +"uJH" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 9 + }, +/obj/machinery/shieldgen, +/turf/open/floor/iron/dark/small, +/area/station/engineering/storage_shared) "uJR" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -60074,6 +63407,27 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/auxiliary) +"uJU" = ( +/obj/structure/table/reinforced, +/obj/item/stack/cable_coil{ + pixel_x = -1; + pixel_y = 8 + }, +/obj/item/clothing/ears/earmuffs{ + pixel_x = 5; + pixel_y = 1 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) +"uKh" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/landmark/start/hangover, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "uKl" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -60115,6 +63469,19 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"uKO" = ( +/obj/structure/table/greyscale, +/obj/item/stack/sheet/glass/fifty{ + pixel_x = -10; + pixel_y = 6 + }, +/obj/item/stack/sheet/iron/fifty{ + pixel_y = 10; + pixel_x = 2 + }, +/obj/item/clothing/glasses/welding, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "uKP" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/table/wood, @@ -60149,6 +63516,14 @@ /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron, /area/station/hallway/secondary/spacebridge) +"uLB" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron/half, +/area/station/hallway/primary/central/fore) "uLO" = ( /obj/item/stack/sheet/cardboard{ amount = 14 @@ -60162,6 +63537,13 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/security/prison/work) +"uLW" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 5 + }, +/turf/open/space/basic, +/area/space/nearstation) "uMa" = ( /obj/machinery/computer/slot_machine{ pixel_y = 2 @@ -60172,6 +63554,13 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/hallway/secondary/service) +"uMh" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/office) "uMl" = ( /obj/machinery/cryo_cell, /obj/effect/turf_decal/stripes/line{ @@ -60241,6 +63630,18 @@ "uMU" = ( /turf/closed/wall, /area/station/science/robotics/mechbay) +"uMV" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/structure/railing/corner, +/obj/structure/cable, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/space/basic, +/area/space/nearstation) "uMW" = ( /obj/effect/spawner/random/vending/snackvend, /turf/open/floor/glass, @@ -60265,10 +63666,22 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs) +"uNk" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 9 + }, +/obj/machinery/shower/directional/east, +/turf/open/floor/iron/dark/small, +/area/station/engineering/break_room) "uNn" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/secondary/spacebridge) +"uNO" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/disposal/incinerator) "uNQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/broken_flooring/singular/directional/south, @@ -60306,6 +63719,13 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/glass, /area/station/hallway/secondary/spacebridge) +"uOk" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/window/spawner/directional/south, +/obj/machinery/vending/engivend, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/station/engineering/main) "uOw" = ( /turf/open/floor/iron, /area/station/maintenance/department/medical/central) @@ -60314,6 +63734,13 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/iron, /area/station/engineering/storage/tech) +"uOL" = ( +/obj/structure/table/reinforced/titaniumglass, +/obj/item/hfr_box/body/fuel_input, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "uOP" = ( /obj/structure/cable, /obj/machinery/airalarm/directional/north, @@ -60327,16 +63754,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/central/greater) -"uPi" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron/white/side{ - dir = 4 - }, -/area/station/science/research) +"uPf" = ( +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "uPr" = ( /obj/structure/weightmachine/weightlifter, /obj/effect/turf_decal/bot, @@ -60375,6 +63796,11 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"uPN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/closed/wall, +/area/station/engineering/supermatter/room) "uPO" = ( /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron, @@ -60426,17 +63852,6 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) -"uQK" = ( -/obj/structure/chair/sofa/bench/right{ - dir = 1 - }, -/obj/machinery/camera/directional/south, -/obj/effect/landmark/start/assistant, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/white/side, -/area/station/hallway/primary/starboard) "uQR" = ( /obj/machinery/exodrone_launcher, /obj/machinery/firealarm/directional/east, @@ -60472,17 +63887,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/port/aft) -"uRu" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/yellow/corner, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 8 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "uRF" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -60493,6 +63897,23 @@ }, /turf/open/floor/iron/dark/small, /area/station/security/execution/education) +"uRO" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer5{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer4{ + dir = 8 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "uRR" = ( /obj/structure/table, /obj/item/plant_analyzer, @@ -60513,6 +63934,14 @@ /obj/structure/flora/bush/flowers_pp/style_random, /turf/open/floor/grass, /area/station/service/chapel) +"uRY" = ( +/obj/effect/spawner/random/structure/table_or_rack, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"uSa" = ( +/turf/open/floor/iron, +/area/station/maintenance/department/engine/atmos) "uSi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -60651,12 +64080,25 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"uUp" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "uUq" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/newscaster/directional/south, /obj/structure/broken_flooring/corner/directional/south, /turf/open/floor/plating, /area/station/commons/dorms) +"uUA" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "uUE" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -60669,6 +64111,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"uUG" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/iron/small, +/area/station/engineering/supermatter/room) "uUI" = ( /obj/structure/table, /obj/effect/turf_decal/bot, @@ -60838,20 +64286,6 @@ "uXb" = ( /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) -"uXo" = ( -/obj/item/kirbyplants/random, -/obj/machinery/button/door/directional/north{ - id = "atmos"; - name = "Atmospherics Lockdown"; - pixel_x = 24; - pixel_y = 23; - req_access = list("atmospherics") - }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "uXs" = ( /obj/structure/window/spawner/directional/east, /obj/structure/window/spawner/directional/west, @@ -60874,10 +64308,22 @@ "uXC" = ( /turf/closed/wall, /area/station/science/lower) +"uXI" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/engineering/atmos) "uXN" = ( /obj/structure/altar_of_gods, /turf/open/floor/wood/large, /area/station/service/chapel) +"uXS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/holopad, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "uXU" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/spawner/random/maintenance, @@ -60912,20 +64358,6 @@ /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/central/lesser) -"uYx" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/layer_manifold/brown/visible, -/turf/open/floor/plating, -/area/station/engineering/atmos) -"uYy" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/firealarm/directional/east, -/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "uYD" = ( /obj/structure/table, /obj/effect/turf_decal/tile/green/fourcorners, @@ -60938,22 +64370,6 @@ /obj/item/pai_card, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) -"uYG" = ( -/obj/machinery/door/airlock/engineering{ - name = "Smoke Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/textured_half{ - dir = 1 - }, -/area/station/engineering/atmospherics_engine) "uYH" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/effect/turf_decal/stripes/end, @@ -60983,6 +64399,22 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/security/courtroom) +"uZw" = ( +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/machinery/disposal/bin, +/obj/machinery/light_switch/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera/directional/south{ + c_tag = "Atmospherics - South" + }, +/turf/open/floor/iron/smooth, +/area/station/service/greenroom) "uZA" = ( /obj/structure/chair{ dir = 1; @@ -60990,27 +64422,18 @@ }, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) +"uZB" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/smes/full, +/turf/open/floor/plating, +/area/station/maintenance/department/prison) "uZG" = ( /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/white/side{ dir = 1 }, /area/station/science/lower) -"uZR" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/corner{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Atmos to Loop" - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "uZY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -61074,6 +64497,14 @@ "vbK" = ( /turf/closed/wall, /area/station/science/research) +"vbL" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing/corner, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 10 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "vbO" = ( /obj/structure/table/glass, /obj/effect/turf_decal/tile/blue/fourcorners, @@ -61096,6 +64527,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"vcm" = ( +/obj/item/pickaxe, +/turf/open/misc/asteroid, +/area/station/maintenance/department/electrical) "vct" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -61149,6 +64584,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"vcR" = ( +/turf/open/floor/iron/stairs/medium{ + dir = 1 + }, +/area/station/engineering/atmos) "vcW" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -61178,6 +64618,26 @@ /obj/structure/railing/corner, /turf/open/space/basic, /area/space/nearstation) +"vdi" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer5{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer4{ + dir = 8 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "vdj" = ( /obj/effect/turf_decal/tile/blue, /obj/structure/filingcabinet/chestdrawer{ @@ -61208,14 +64668,38 @@ /obj/structure/broken_flooring/pile/directional/east, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_recreation) -"vdp" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/binary/pump{ - name = "Turbine to Waste" +"vdt" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/light_switch/directional/west, +/turf/open/floor/iron/small, +/area/station/engineering/main) +"vdw" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/light/small/dim/directional/south, +/turf/open/floor/iron/small, +/area/station/maintenance/department/engine/atmos) +"vdB" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/tank, +/turf/open/floor/plating, +/area/station/engineering/atmos/pumproom) "vdH" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/blue{ @@ -61223,6 +64707,13 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"vdS" = ( +/obj/structure/closet/firecloset, +/obj/item/clothing/glasses/meson, +/obj/item/radio/intercom/directional/east, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/engineering/main) "vdX" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/tile/blue/fourcorners, @@ -61253,6 +64744,12 @@ "vej" = ( /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"veo" = ( +/obj/effect/turf_decal/siding/thinplating_new/terracotta/corner, +/obj/structure/chair/stool/directional/east, +/obj/effect/landmark/atmospheric_sanity/ignore_area, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/department/engine/atmos) "veq" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -61324,16 +64821,16 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/lab) -"vfA" = ( -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/iron/small, -/area/station/engineering/atmos) "vfD" = ( /obj/effect/turf_decal/siding/thinplating_new/light, /obj/structure/reagent_dispensers/fueltank, /obj/machinery/light/small/directional/south, /turf/open/floor/iron/smooth_large, /area/station/science/robotics/mechbay) +"vfG" = ( +/obj/structure/hedge, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "vfK" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -61383,6 +64880,20 @@ /obj/structure/chair/stool/directional/west, /turf/open/floor/carpet/orange, /area/station/service/abandoned_gambling_den) +"vgp" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Atmospherics Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "atmos_airlock_1" + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "vgy" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -61405,6 +64916,19 @@ /obj/effect/mapping_helpers/airlock/access/any/science/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"vgJ" = ( +/obj/structure/table, +/obj/effect/turf_decal/bot, +/obj/machinery/light/small/directional/north, +/obj/item/pen{ + pixel_x = 11 + }, +/obj/item/paper_bin{ + pixel_x = -7; + pixel_y = 6 + }, +/turf/open/floor/iron/kitchen/small, +/area/station/hallway/secondary/service) "vgN" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -61463,6 +64987,11 @@ dir = 8 }, /area/station/science/research) +"viw" = ( +/obj/effect/decal/cleanable/oil/streak, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "viy" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -61475,12 +65004,13 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/station/science/server) -"viC" = ( -/obj/machinery/computer/department_orders/science{ - dir = 1 +"viE" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 }, -/turf/open/floor/iron/white, -/area/station/science/research) +/obj/item/stack/cable_coil/cut, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "viK" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -61527,6 +65057,15 @@ }, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) +"vja" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/item/kirbyplants/random, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron, +/area/station/engineering/hallway) "vjb" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, @@ -61565,6 +65104,13 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron, /area/station/command/teleporter) +"vjK" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 5 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "vjZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -61578,15 +65124,6 @@ "vkh" = ( /turf/closed/wall, /area/station/service/bar) -"vkk" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 1 - }, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "vkn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -61617,22 +65154,21 @@ }, /turf/open/floor/iron, /area/station/science/research) -"vkw" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 6 - }, -/obj/structure/fireaxecabinet/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "vkz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood/large, /area/station/service/chapel) +"vkD" = ( +/obj/structure/table, +/obj/item/stack/ore/gold{ + pixel_y = 13; + pixel_x = 5 + }, +/obj/item/stack/ore/uranium{ + pixel_y = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "vkG" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 1 @@ -61656,11 +65192,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/command/heads_quarters/qm) -"vkP" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/engineering/break_room) "vkS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -61737,6 +65268,13 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_command) +"vlC" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/grille/broken, +/obj/item/stack/rods/two, +/obj/effect/decal/cleanable/molten_object, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "vlV" = ( /turf/closed/wall, /area/station/maintenance/aft) @@ -61840,14 +65378,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/wood, /area/station/service/chapel/office) -"vna" = ( -/obj/machinery/atmospherics/components/tank/nitrous{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating/rust, -/area/station/engineering/atmos) "vnb" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -61898,6 +65428,21 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/service/chapel/office) +"vnp" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "vnq" = ( /obj/structure/cable, /obj/structure/bed/medical/anchored{ @@ -61925,6 +65470,16 @@ /obj/machinery/door/airlock/glass, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"vnz" = ( +/obj/machinery/portable_atmospherics/scrubber, +/obj/effect/turf_decal/bot, +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "vnF" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -62024,19 +65579,6 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/starboard/aft) -"vpl" = ( -/obj/effect/turf_decal/sand/plating, -/obj/machinery/atmospherics/pipe/bridge_pipe/brown/visible, -/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/space/nearstation) -"vpm" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/engineering/engine_smes) "vpq" = ( /obj/machinery/door/poddoor/massdriver_ordnance, /obj/effect/turf_decal/stripes/end, @@ -62060,6 +65602,20 @@ /obj/machinery/door/firedoor, /turf/open/floor/catwalk_floor/iron, /area/station/service/bar) +"vpS" = ( +/obj/machinery/atmospherics/pipe/smart/simple/supply/visible/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold/supply/visible{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/structure/sign/poster/official/random/directional/north, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "vpT" = ( /obj/structure/chair/sofa/bench{ dir = 1 @@ -62084,6 +65640,19 @@ /obj/effect/turf_decal/tile/neutral/full, /turf/open/floor/iron/smooth_large, /area/station/service/bar) +"vpZ" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow/diagonal_centre, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Engineering-Lobby" + }, +/turf/open/floor/iron/diagonal, +/area/station/engineering/lobby) "vqb" = ( /obj/structure/broken_flooring/singular/directional/east, /obj/effect/spawner/random/trash/graffiti{ @@ -62106,6 +65675,11 @@ "vqp" = ( /turf/open/floor/carpet/lone, /area/station/service/theater) +"vqw" = ( +/obj/effect/decal/cleanable/glass/titanium, +/obj/item/stack/rods/two, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "vqH" = ( /obj/structure/railing{ dir = 8 @@ -62132,6 +65706,16 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/wood, /area/station/service/chapel/office) +"vrh" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/half{ + dir = 8 + }, +/area/station/engineering/main) "vrn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral{ @@ -62155,12 +65739,6 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/carpet/lone, /area/station/service/theater) -"vrw" = ( -/obj/structure/railing{ - dir = 5 - }, -/turf/open/floor/plating/airless, -/area/station/engineering/atmospherics_engine) "vrz" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -62186,6 +65764,15 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"vrK" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/obj/structure/railing, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/space/basic, +/area/space/nearstation) "vrO" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/grunge{ @@ -62335,18 +65922,30 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/hallway/secondary/entry) +"vtJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/yellow/arrow_ccw{ + dir = 10 + }, +/obj/machinery/power/terminal, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth, +/area/station/maintenance/department/electrical) "vtL" = ( /obj/structure/cable, /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/fore/greater) -"vtV" = ( -/obj/machinery/power/smes/engineering, -/obj/effect/decal/cleanable/dirt, +"vuk" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 8 + }, /obj/structure/cable, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/station/engineering/engine_smes) +/turf/open/space/basic, +/area/space/nearstation) "vum" = ( /obj/structure/cable, /obj/machinery/firealarm/directional/north, @@ -62358,6 +65957,18 @@ "vuo" = ( /turf/closed/wall/r_wall, /area/station/commons/vacant_room/commissary) +"vuq" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "vuu" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -62449,11 +66060,28 @@ }, /turf/open/floor/iron/textured_half, /area/station/hallway/primary/aft) +"vvg" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Waste to Port Filter" + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "vvl" = ( /obj/effect/mapping_helpers/broken_floor, /obj/machinery/light/small/broken/directional/west, /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) +"vvs" = ( +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "vvz" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -62602,6 +66230,13 @@ /obj/machinery/light/cold/directional/west, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"vxX" = ( +/obj/effect/spawner/random/structure/steam_vent, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "vyi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -62624,6 +66259,13 @@ }, /turf/open/floor/iron/dark, /area/station/command/corporate_dock) +"vyM" = ( +/obj/effect/turf_decal/arrows{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) "vyR" = ( /turf/open/floor/glass, /area/station/command/corporate_dock) @@ -62678,6 +66320,13 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/wood/parquet, /area/station/service/library) +"vzK" = ( +/obj/machinery/light/small/directional/west, +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/helium_output{ + dir = 4 + }, +/turf/open/floor/engine/helium, +/area/station/ai_monitored/turret_protected/ai) "vzM" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/brown/full, @@ -62725,6 +66374,21 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron, /area/station/security/tram) +"vAb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ + dir = 8 + }, +/obj/structure/cable, +/obj/item/clothing/head/cone{ + pixel_x = 6; + pixel_y = 9 + }, +/obj/item/clothing/head/cone{ + pixel_x = 11; + pixel_y = -9 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "vAo" = ( /obj/item/radio/intercom/directional/north{ broadcasting = 1; @@ -62854,15 +66518,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/office) -"vBU" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/bot, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron/smooth, -/area/station/command/bridge) "vCe" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -62894,15 +66549,13 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/smooth_large, /area/station/science/ordnance/storage) -"vDA" = ( +"vDg" = ( /obj/structure/chair{ - pixel_y = -2 + dir = 1 }, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/maintenance/department/engine/atmos) +/obj/effect/landmark/start/station_engineer, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "vDB" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -62972,6 +66625,12 @@ }, /turf/open/floor/iron/small, /area/station/hallway/primary/starboard) +"vEC" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "vEI" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -62983,9 +66642,47 @@ "vEP" = ( /turf/closed/wall/r_wall, /area/station/security/brig) +"vEQ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/cold/directional/east, +/obj/item/radio/intercom/directional/east, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/smooth, +/area/station/engineering/engine_smes) "vEW" = ( /turf/closed/wall/r_wall, /area/station/security/prison/shower) +"vEZ" = ( +/obj/structure/railing, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor/preopen{ + id = "atmos"; + name = "Atmospherics Blast Door" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) +"vFf" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/meter, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) "vFh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/landmark/blobstart, @@ -63221,6 +66918,22 @@ }, /turf/open/floor/wood, /area/station/service/chapel/office) +"vIp" = ( +/obj/structure/table, +/obj/item/folder/yellow{ + pixel_x = 4 + }, +/obj/item/stack/sheet/mineral/plasma/thirty, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/phone{ + pixel_x = -6; + pixel_y = 7 + }, +/turf/open/floor/iron/small, +/area/station/engineering/engine_smes) "vIt" = ( /obj/machinery/door/airlock{ name = "Maintenance" @@ -63230,6 +66943,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"vIF" = ( +/turf/closed/wall, +/area/station/engineering/atmos/pumproom) "vIJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/firedoor, @@ -63268,6 +66984,12 @@ }, /turf/open/floor/iron/dark/herringbone, /area/station/security/courtroom) +"vJe" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/light/directional/south, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "vJn" = ( /obj/structure/closet/crate/coffin, /obj/structure/window/spawner/directional/west, @@ -63342,6 +67064,12 @@ "vKb" = ( /turf/open/floor/iron/dark, /area/station/medical/medbay/lobby) +"vKe" = ( +/obj/structure/cable, +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/power/smes/full, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/construction) "vKi" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -63350,6 +67078,26 @@ /obj/machinery/computer/crew, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs/auxiliary) +"vKn" = ( +/obj/structure/chair/office/light{ + name = "blue"; + color = "#6495ED"; + dir = 8 + }, +/obj/machinery/airalarm/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/landmark/start/chief_engineer, +/turf/open/floor/wood, +/area/station/command/heads_quarters/ce) +"vKs" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 6 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "vKy" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -63483,6 +67231,14 @@ "vLP" = ( /turf/closed/wall/rust, /area/station/command/heads_quarters/qm) +"vLQ" = ( +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/box, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "vLT" = ( /obj/machinery/holopad, /obj/effect/turf_decal/box/white{ @@ -63490,6 +67246,15 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/pharmacy) +"vMo" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 6 + }, +/obj/machinery/atmospherics/components/tank{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/engineering/atmos/pumproom) "vMr" = ( /obj/effect/turf_decal/sand/plating, /obj/structure/alien/weeds, @@ -63590,14 +67355,6 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/smooth, /area/station/cargo/warehouse) -"vNK" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "vNV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63617,6 +67374,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/auxiliary) +"vOL" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light_switch/directional/south, +/turf/open/floor/iron/stairs{ + dir = 8 + }, +/area/station/engineering/main) "vOP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/decal/cleanable/dirt, @@ -63689,6 +67461,11 @@ /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"vPY" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible, +/turf/open/floor/iron, +/area/station/engineering/atmos) "vQk" = ( /obj/effect/spawner/random/structure/crate, /obj/machinery/computer/security/telescreen/entertainment/directional/east, @@ -63762,18 +67539,20 @@ /obj/effect/turf_decal/tile/brown/full, /turf/open/floor/iron/smooth_large, /area/station/service/bar) -"vRU" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/chair/stool/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/floor, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) +"vRH" = ( +/obj/structure/reagent_dispensers/beerkeg, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "vSg" = ( /turf/closed/wall/r_wall, /area/station/hallway/primary/aft) +"vSh" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "vSj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/firealarm/directional/west, @@ -63782,16 +67561,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"vSm" = ( -/obj/machinery/door/airlock/hatch, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/department/engine) "vSu" = ( /obj/structure/chair{ dir = 8 @@ -63859,6 +67628,28 @@ /obj/machinery/air_sensor/ordnance_freezer_chamber, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/freezerchamber) +"vTg" = ( +/obj/structure/table/reinforced, +/obj/item/folder/yellow{ + pixel_x = 4 + }, +/obj/item/storage/pill_bottle/potassiodide{ + pixel_y = 12; + pixel_x = -6 + }, +/obj/item/pen/screwdriver, +/obj/item/radio/intercom/directional/west, +/obj/item/geiger_counter{ + pixel_x = 7; + pixel_y = 14 + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/storage/gas) +"vTj" = ( +/obj/effect/spawner/random/maintenance, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "vTm" = ( /obj/structure/table, /obj/effect/spawner/random/food_or_drink/condiment, @@ -63896,6 +67687,13 @@ }, /turf/open/floor/iron, /area/station/commons/storage/art) +"vTE" = ( +/obj/item/trash/shok_roks/tropical, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/small, +/area/station/maintenance/department/engine/atmos) "vTG" = ( /turf/open/floor/catwalk_floor, /area/station/maintenance/department/medical/central) @@ -63939,6 +67737,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/prison) +"vUh" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister, +/turf/open/floor/iron, +/area/station/engineering/atmos) "vUq" = ( /obj/machinery/restaurant_portal/bar, /obj/machinery/firealarm/directional/west, @@ -64063,16 +67868,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"vVE" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "External Gas to Loop" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "vVF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral{ @@ -64248,19 +68043,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/central/greater) -"vYg" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/corner, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/engineering/tracking_beacon, -/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "vYj" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -64362,16 +68144,17 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron, /area/station/security/courtroom) -"vZJ" = ( -/obj/structure/cable, -/obj/machinery/camera/directional/north{ - c_tag = "Atmospherics - Port" +"vZM" = ( +/obj/item/clothing/head/cone{ + pixel_x = -17; + pixel_y = -7 }, -/obj/structure/fireaxecabinet/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ dir = 4 }, -/turf/open/floor/iron/dark, +/obj/effect/decal/cleanable/glass/plasma, +/turf/open/floor/engine, /area/station/engineering/atmos) "vZW" = ( /obj/structure/chair/sofa/bench/right{ @@ -64389,6 +68172,18 @@ /obj/item/folder/red, /turf/open/floor/iron, /area/station/security/courtroom) +"wap" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/firealarm/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/stairs/old{ + dir = 8 + }, +/area/station/engineering/break_room) "wat" = ( /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 4 @@ -64400,6 +68195,22 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/spacebridge) +"way" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) +"waH" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 5 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/structure/cable, +/obj/structure/sign/poster/official/random/directional/west, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "waN" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -64427,6 +68238,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) +"waX" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "wbb" = ( /obj/item/kirbyplants/random, /obj/effect/mapping_helpers/broken_floor, @@ -64444,11 +68262,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"wbj" = ( -/obj/structure/cable, -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/station/engineering/break_room) "wbk" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -64467,6 +68280,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white/small, /area/station/science/lab) +"wby" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/yellow/arrow_ccw{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "wbH" = ( /obj/machinery/holopad, /obj/effect/decal/cleanable/dirt, @@ -64558,6 +68379,11 @@ "wdk" = ( /turf/closed/mineral/random/stationside, /area/station/maintenance/starboard/greater) +"wdo" = ( +/obj/structure/fluff/broken_canister_frame, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/station/maintenance/department/engine/atmos) "wdp" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -64568,6 +68394,11 @@ }, /turf/open/space/basic, /area/space/nearstation) +"wdJ" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer5, +/turf/open/space/basic, +/area/space/nearstation) "wdS" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{ dir = 4 @@ -64581,6 +68412,10 @@ /obj/structure/chair/stool/bamboo, /turf/open/floor/carpet/lone, /area/station/service/chapel/office) +"wdY" = ( +/obj/effect/spawner/random/structure/table, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "wec" = ( /obj/effect/turf_decal/siding/thinplating_new/light{ dir = 1 @@ -64596,12 +68431,33 @@ "wen" = ( /turf/closed/wall, /area/station/ai_monitored/turret_protected/aisat/maint) +"weA" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/pump, +/obj/effect/turf_decal/stripes/white/end{ + name = "blue"; + color = "#6495ED" + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/dark/small, +/area/station/engineering/lobby) "weT" = ( /obj/structure/cable, /obj/effect/mapping_helpers/broken_floor, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/construction/mining/aux_base) +"weU" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 4; + name = "Air" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating/elevatorshaft, +/area/station/engineering/atmos/office) "wfa" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -64651,6 +68507,13 @@ /obj/machinery/door/firedoor, /turf/open/floor/catwalk_floor/flat_white, /area/station/science/research) +"wfE" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/turf_decal/siding/wideplating, +/obj/machinery/vending/tool, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron, +/area/station/engineering/atmos) "wfP" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security/glass{ @@ -64700,6 +68563,20 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/carpet/lone, /area/station/service/chapel/office) +"wgl" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing, +/obj/machinery/atmospherics/components/trinary/filter/atmos/n2o{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer5{ + dir = 4 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "wgn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, @@ -64764,6 +68641,13 @@ }, /turf/open/floor/iron, /area/station/security/execution/transfer) +"whl" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/engineering/atmos/storage/gas) "wht" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -64807,6 +68691,11 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/hallway/secondary/exit/departure_lounge) +"whM" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/maintenance/department/engine/atmos) "whX" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/airlock{ @@ -64816,38 +68705,12 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"wib" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plating, -/area/station/engineering/atmos/pumproom) -"wik" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Mix to Engine" - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/engineering/atmos/pumproom) "win" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/closed/wall/r_wall, /area/station/security/brig/entrance) -"wiw" = ( -/obj/structure/cable, -/obj/structure/bed, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/item/bedsheet/ce, -/obj/effect/landmark/start/chief_engineer, -/obj/structure/secure_safe/directional/south, -/turf/open/floor/iron/grimy, -/area/station/command/heads_quarters/ce) "wix" = ( /obj/item/kirbyplants/random, /obj/machinery/newscaster/directional/west, @@ -64889,6 +68752,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/space/nearstation) +"wiR" = ( +/obj/structure/cable, +/turf/closed/wall, +/area/station/engineering/engine_smes) "wiT" = ( /obj/effect/mapping_helpers/broken_floor, /obj/machinery/newscaster/directional/south, @@ -64904,17 +68771,6 @@ "wja" = ( /turf/closed/wall/r_wall, /area/station/commons/toilet/auxiliary) -"wjn" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow, -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/engineering/break_room) "wjr" = ( /obj/structure/tank_holder/extinguisher, /turf/open/floor/iron/white, @@ -64984,13 +68840,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/service/cafeteria) -"wkl" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/computer/department_orders/service, -/obj/effect/turf_decal/delivery, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron/kitchen/small, -/area/station/hallway/secondary/service) "wkm" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/decal/cleanable/dirt, @@ -65002,11 +68851,30 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/station/hallway/secondary/recreation) +"wkU" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing, +/turf/open/space/basic, +/area/space/nearstation) "wla" = ( /obj/effect/landmark/generic_maintenance_landmark, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/chapel, /area/station/maintenance/starboard/greater) +"wld" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/structure/table/reinforced/titaniumglass, +/obj/item/rcl/pre_loaded, +/obj/item/stock_parts/cell/high{ + pixel_y = 17 + }, +/obj/machinery/light/small/directional/south, +/obj/structure/secure_safe/directional/east, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "wlf" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/glass, @@ -65041,6 +68909,33 @@ /obj/structure/flora/bush/flowers_pp/style_random, /turf/open/floor/grass, /area/station/service/chapel) +"wlS" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"wlU" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 10 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Release" + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) +"wmd" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer2{ + dir = 10 + }, +/obj/effect/landmark/blobstart, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "wme" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, @@ -65127,6 +69022,27 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/restrooms) +"wnw" = ( +/obj/machinery/pdapainter/engineering, +/obj/effect/turf_decal/bot, +/obj/machinery/light/cold/directional/south, +/obj/machinery/button/door/directional/south{ + id = "ceprivacy"; + name = "Privacy Shutters Control"; + pixel_x = 9 + }, +/obj/machinery/button/door/directional/west{ + id = "atmos"; + name = "Atmospherics Lockdown"; + pixel_x = -2; + pixel_y = -24; + req_access = list("atmospherics") + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/mineral/titanium, +/area/station/command/heads_quarters/ce) "wnB" = ( /obj/effect/turf_decal/plaque{ icon_state = "L1" @@ -65153,6 +69069,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"wnR" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/engineering/break_room) "wnY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -65178,16 +69102,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/restrooms) -"woe" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/sign/warning/engine_safety/directional/north, -/turf/open/floor/iron/dark, -/area/station/engineering/main) "woi" = ( /turf/closed/wall/r_wall, /area/station/maintenance/solars/starboard/fore) @@ -65232,6 +69146,14 @@ /obj/item/wrench, /turf/open/floor/catwalk_floor, /area/station/science/xenobiology) +"woP" = ( +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/structure/sign/poster/official/random/directional/north, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron/dark, +/area/station/security/office) "woT" = ( /obj/effect/turf_decal/tile/blue/fourcorners, /obj/structure/chair/sofa/bench/left{ @@ -65267,17 +69189,6 @@ /obj/effect/turf_decal/tile/dark_red/fourcorners, /turf/open/floor/iron, /area/station/security/execution/transfer) -"wpE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/pink/visible{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/remains/human{ - pixel_x = 6; - pixel_y = 6 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "wpO" = ( /turf/closed/wall/r_wall, /area/station/security/processing) @@ -65289,6 +69200,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white, /area/station/medical/paramedic) +"wpY" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/visible{ + dir = 4 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "wqb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -65305,14 +69227,6 @@ "wqj" = ( /turf/closed/wall, /area/station/commons/toilet/restrooms) -"wqm" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/break_room) "wqs" = ( /obj/effect/spawner/structure/window, /obj/machinery/door/poddoor/shutters/preopen{ @@ -65333,6 +69247,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating/rust, /area/station/maintenance/fore/lesser) +"wqP" = ( +/turf/closed/wall/r_wall/rust, +/area/station/maintenance/department/electrical) +"wqW" = ( +/obj/effect/turf_decal/siding/wideplating{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/wood, +/area/station/engineering/main) "wqY" = ( /obj/machinery/camera/autoname/directional/east, /obj/machinery/light/small/directional/east, @@ -65432,16 +69363,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/prison) -"wsL" = ( -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/brown/visible, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/station/engineering/atmos) "wsR" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -65451,16 +69372,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"wsZ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/layer_manifold/orange/visible{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "wta" = ( /obj/structure/railing/corner/end/flip, /obj/effect/mapping_helpers/broken_floor, @@ -65537,6 +69448,11 @@ /obj/effect/landmark/start/depsec/medical, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs/auxiliary) +"wtG" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/red/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "wtT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -65566,30 +69482,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"wuk" = ( -/obj/structure/rack, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/item/grenade/chem_grenade/smart_metal_foam{ - pixel_x = -4; - pixel_y = 6 - }, -/obj/item/grenade/chem_grenade/smart_metal_foam{ - pixel_y = 4 - }, -/obj/item/grenade/chem_grenade/smart_metal_foam{ - pixel_x = 4; - pixel_y = 2 - }, -/obj/item/clothing/mask/gas{ - pixel_y = 4 - }, -/obj/item/clothing/mask/gas, -/obj/machinery/airalarm/directional/west, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark/small, -/area/station/engineering/main) "wum" = ( /turf/closed/wall/r_wall, /area/station/security/medical) @@ -65642,24 +69534,6 @@ "wuM" = ( /turf/closed/wall, /area/station/command/heads_quarters/qm) -"wvg" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 8 - }, -/obj/structure/chair{ - pixel_y = -2 - }, -/obj/machinery/computer/security/telescreen/interrogation{ - dir = 8; - name = "isolation room monitor"; - network = list("isolation"); - pixel_x = 30 - }, -/turf/open/floor/iron, -/area/station/security/execution/transfer) "wvn" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -65667,6 +69541,11 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/catwalk_floor/iron_dark, /area/station/service/library) +"wvo" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/iron/kitchen/small, +/area/station/hallway/secondary/service) "wvv" = ( /obj/effect/turf_decal/tile/red/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -65685,6 +69564,12 @@ /obj/machinery/light/floor, /turf/open/floor/iron/white/small, /area/station/science/cubicle) +"wvT" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 10 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "wvX" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, @@ -65768,15 +69653,23 @@ /obj/effect/mapping_helpers/airlock/access/any/science/maintenance, /turf/open/floor/iron/cafeteria, /area/station/maintenance/starboard/fore) -"wxt" = ( -/obj/machinery/power/emitter, +"wxp" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/arrow_ccw, /obj/structure/cable, -/turf/open/floor/plating, +/turf/open/floor/iron/smooth, /area/station/engineering/supermatter/room) "wxu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/closed/wall/r_wall, /area/station/maintenance/starboard/central) +"wxG" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/dim/directional/north, +/turf/open/floor/iron/dark, +/area/station/maintenance/department/engine/atmos) "wxR" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance, @@ -65865,9 +69758,6 @@ /obj/effect/spawner/random/decoration/flower, /turf/open/floor/wood, /area/station/service/chapel/office) -"wyt" = ( -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine) "wyy" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/computer/scan_consolenew{ @@ -65880,6 +69770,19 @@ /obj/machinery/light/warm/directional/east, /turf/open/floor/iron/dark, /area/station/science/genetics) +"wyH" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "wyK" = ( /obj/machinery/door/airlock/external/glass, /obj/effect/mapping_helpers/broken_floor, @@ -65905,23 +69808,29 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/stone, /area/station/command/heads_quarters/hos) -"wyP" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 +"wyU" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/chair/stool/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/atmospheric_technician, -/turf/open/floor/iron, -/area/station/engineering/break_room) +/obj/machinery/light/cold/directional/north, +/obj/machinery/meter, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "wyY" = ( /obj/structure/disposalpipe/segment, /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, /turf/open/floor/carpet/lone, /area/station/service/chapel/office) +"wyZ" = ( +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 + }, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/office) "wzb" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/turf_decal/tile/purple/opposingcorners, @@ -65945,6 +69854,16 @@ /obj/effect/landmark/start/cargo_technician, /turf/open/floor/iron/smooth, /area/station/cargo/office) +"wzv" = ( +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) +"wzB" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/structure/barricade/wooden, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/engineering/atmospherics_engine) "wzK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -65967,6 +69886,12 @@ }, /turf/open/floor/iron/kitchen/small, /area/station/security/breakroom) +"wAf" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "wAj" = ( /obj/structure/table/wood, /obj/machinery/computer/records/medical/laptop{ @@ -65999,6 +69924,13 @@ /obj/machinery/light/cold/directional/east, /turf/open/floor/iron/white, /area/station/medical/paramedic) +"wAM" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "wAS" = ( /obj/structure/table/wood, /obj/item/hand_labeler, @@ -66082,14 +70014,6 @@ /obj/effect/spawner/random/structure/grille, /turf/open/space/basic, /area/space/nearstation) -"wCp" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "wCt" = ( /obj/machinery/flasher/directional/east{ id = "hopflash" @@ -66150,12 +70074,6 @@ }, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) -"wCQ" = ( -/obj/machinery/power/turbine/turbine_outlet{ - dir = 1 - }, -/turf/open/floor/engine, -/area/station/maintenance/disposal/incinerator) "wCR" = ( /turf/closed/wall, /area/station/cargo/boutique) @@ -66184,6 +70102,13 @@ /obj/item/stack/sheet/iron/ten, /turf/open/floor/wood/tile, /area/station/commons/vacant_room/commissary) +"wDF" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "wDG" = ( /obj/effect/decal/cleanable/dirt, /obj/item/kirbyplants/random/fullysynthetic, @@ -66201,6 +70126,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"wDM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "wDV" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -66214,6 +70146,19 @@ /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron, /area/station/hallway/secondary/spacebridge) +"wEc" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 9 + }, +/obj/structure/closet/crate, +/obj/item/stack/sheet/iron/twenty, +/obj/item/stack/sheet/mineral/plasma/five, +/obj/item/stack/sheet/mineral/titanium, +/obj/item/stack/sheet/mineral/uranium/five, +/obj/machinery/light/small/directional/east, +/obj/structure/sign/poster/official/random/directional/east, +/turf/open/floor/iron/dark/small, +/area/station/engineering/supermatter/room) "wEf" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral{ @@ -66249,6 +70194,12 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) +"wEU" = ( +/obj/structure/transit_tube/horizontal{ + dir = 2 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "wEV" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -66293,10 +70244,24 @@ /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"wFV" = ( +/obj/item/stack/sheet/iron, +/obj/effect/landmark/generic_maintenance_landmark, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "wGh" = ( /obj/structure/broken_flooring/corner/directional/south, /turf/open/floor/plating, /area/station/hallway/secondary/dock) +"wGo" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/rack, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, +/obj/machinery/status_display/evac/directional/south, +/obj/item/tank/internals/emergency_oxygen, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron, +/area/station/engineering/hallway) "wGq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -66339,42 +70304,10 @@ }, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"wHa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/pink/visible{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red, -/obj/effect/mapping_helpers/broken_floor, -/obj/item/clothing/head/cone{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/effect/decal/cleanable/ash{ - pixel_x = -16 - }, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/engineering/atmos) "wHg" = ( /obj/structure/filingcabinet/filingcabinet, /turf/open/floor/iron/grimy, /area/station/science/cubicle) -"wHh" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/crowbar, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "wHE" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -66382,6 +70315,23 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/port) +"wHH" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing/corner/end{ + dir = 8 + }, +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) +"wHL" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/transit_tube/station/dispenser/reverse/flipped{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "wHN" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -66446,15 +70396,40 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/space/basic, /area/space/nearstation) -"wII" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) +"wIu" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/table/greyscale, +/obj/item/pen{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/book/manual/wiki/engineering_construction{ + pixel_y = 3; + pixel_x = -6 + }, +/turf/open/floor/iron/grimy, +/area/station/engineering/main) "wIY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/robotics/lab) +"wJa" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/obj/structure/railing{ + dir = 10 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/machinery/power/emitter{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) "wJc" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral{ @@ -66479,19 +70454,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) +"wJn" = ( +/obj/machinery/holopad, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "wJo" = ( /obj/structure/cable, /turf/closed/wall/r_wall, /area/station/maintenance/department/science/xenobiology) -"wJt" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "wJx" = ( /turf/closed/wall/r_wall, /area/station/security/courtroom) @@ -66525,13 +70495,6 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"wJU" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/rnd/production/protolathe/department/engineering, -/turf/open/floor/plating, -/area/station/engineering/break_room) "wJV" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/sign/painting/large/library{ @@ -66598,20 +70561,21 @@ /obj/structure/bookcase/random, /turf/open/floor/wood/parquet, /area/station/service/library) +"wKy" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/wood, +/area/station/engineering/atmos/office) "wKz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai_upload) -"wKD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos/storage/gas) "wKG" = ( /obj/structure/alien/resin/wall, /obj/structure/alien/weeds, @@ -66699,9 +70663,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/service/library) -"wMm" = ( -/turf/closed/wall/rust, -/area/station/engineering/break_room) "wMA" = ( /obj/machinery/camera/directional/west, /obj/structure/bookcase/random/religion, @@ -66776,6 +70737,17 @@ }, /turf/open/floor/iron/smooth_large, /area/station/science/robotics/mechbay) +"wNi" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{ + dir = 1 + }, +/obj/machinery/meter, +/turf/open/floor/iron, +/area/station/engineering/atmos) "wNv" = ( /obj/effect/landmark/navigate_destination/bridge, /turf/open/floor/iron/smooth_half, @@ -66788,6 +70760,16 @@ }, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"wNA" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark/small, +/area/station/engineering/supermatter/room) "wNK" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/iron, @@ -66820,6 +70802,11 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/glass, /area/station/command/heads_quarters/rd) +"wNU" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/turf/open/space/basic, +/area/space/nearstation) "wNW" = ( /obj/structure/disposalpipe/junction/flip{ dir = 4 @@ -66897,6 +70884,19 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/genetics) +"wOz" = ( +/obj/effect/landmark/generic_maintenance_landmark, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/landmark/atmospheric_sanity/ignore_area, +/turf/open/floor/iron/smooth, +/area/station/maintenance/department/electrical) "wOC" = ( /turf/open/floor/iron, /area/station/construction/mining/aux_base) @@ -66913,13 +70913,6 @@ /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"wOW" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "wPd" = ( /turf/closed/wall/r_wall, /area/station/maintenance/starboard/lesser) @@ -66947,6 +70940,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark/small, /area/station/security/detectives_office) +"wPt" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "wPu" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt, @@ -66963,6 +70964,22 @@ /obj/effect/landmark/start/geneticist, /turf/open/floor/iron/dark, /area/station/science/genetics) +"wPM" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{ + dir = 9 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "wPP" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 1 @@ -66983,15 +71000,27 @@ }, /turf/open/floor/iron, /area/station/medical/chemistry) -"wPV" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 +"wQa" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ +/obj/effect/decal/cleanable/glass, +/obj/machinery/light/dim/directional/north, +/obj/structure/sign/warning/directional/north, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) +"wQi" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ dir = 4 }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, /turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) +/area/station/engineering/main) "wQj" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -67101,15 +71130,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/service/hydroponics/garden) -"wRM" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos) "wRN" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -67120,15 +71140,34 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"wRP" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Atmospherics - South" + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/table, +/obj/item/storage/box/mousetraps{ + pixel_x = -3; + pixel_y = 8 + }, +/obj/item/restraints/legcuffs/beartrap{ + pixel_x = 8; + pixel_y = 13 + }, +/obj/item/flashlight{ + pixel_y = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron/white/small, +/area/station/service/janitor) "wRU" = ( /obj/machinery/smartfridge/organ, /turf/open/floor/plating, /area/station/medical/morgue) -"wRW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/atmospheric_sanity/ignore_area, -/turf/open/floor/plating/rust, -/area/station/engineering/atmos/project) "wSf" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -67216,13 +71255,6 @@ /obj/structure/broken_flooring/pile/directional/east, /turf/open/floor/plating, /area/station/commons/dorms) -"wTv" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/engineering/break_room) "wTH" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -67343,6 +71375,17 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/science/ordnance/testlab) +"wVh" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/small, +/area/station/engineering/atmos) "wVs" = ( /obj/machinery/computer/security/telescreen/interrogation{ name = "reflection room monitor"; @@ -67382,6 +71425,14 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/grass, /area/station/service/chapel) +"wWb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/meter, +/turf/open/floor/iron/small, +/area/station/engineering/supermatter/room) "wWc" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -67400,16 +71451,14 @@ dir = 1 }, /area/station/hallway/secondary/construction) -"wWO" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "SM Bleed to Turbine" +"wWP" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 10 }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/iron, /area/station/engineering/atmos) "wWR" = ( /obj/structure/table, @@ -67486,14 +71535,6 @@ }, /turf/open/floor/iron/small, /area/station/security/brig) -"wXM" = ( -/obj/machinery/atmospherics/components/tank/nitrous{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/station/engineering/atmos) "wXO" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -67504,6 +71545,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"wXV" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) "wYa" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -67645,6 +71692,15 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/station/security/brig/entrance) +"wZk" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/structure/table/rolling, +/obj/item/mod/module/thermal_regulator, +/obj/effect/decal/cleanable/ash/large, +/turf/open/floor/iron/dark, +/area/station/engineering/atmospherics_engine) "wZl" = ( /turf/closed/wall, /area/station/commons) @@ -67667,6 +71723,12 @@ }, /turf/open/floor/iron/small, /area/station/hallway/secondary/exit/departure_lounge) +"wZr" = ( +/obj/effect/turf_decal/siding/thinplating_new/terracotta{ + dir = 8 + }, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/department/engine/atmos) "wZA" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -67794,6 +71856,14 @@ /obj/machinery/status_display/ai/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"xaK" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Engineering Maintenance" + }, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "xaN" = ( /turf/closed/wall, /area/station/maintenance/starboard/central) @@ -67910,6 +71980,9 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"xck" = ( +/turf/closed/wall/r_wall, +/area/station/engineering/atmos/office) "xcq" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 8 @@ -67931,6 +72004,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) +"xcS" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/plasma, +/turf/open/floor/plating, +/area/station/engineering/atmos/storage/gas) "xda" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -67945,6 +72025,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) +"xdl" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/spawner/random/trash, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "xdo" = ( /obj/machinery/firealarm/directional/north, /obj/item/kirbyplants/random/fullysynthetic, @@ -67998,6 +72086,19 @@ dir = 4 }, /area/station/science/research) +"xdJ" = ( +/obj/machinery/door/airlock/engineering{ + name = "Engine Airlock" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "engine_airlock_2" + }, +/turf/open/floor/catwalk_floor, +/area/station/engineering/break_room) "xdR" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -68010,6 +72111,21 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/exit/departure_lounge) +"xed" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/storage_shared) +"xef" = ( +/obj/item/stack/rods/two, +/obj/item/book/manual/wiki/atmospherics{ + pixel_x = 5; + pixel_y = 5; + desc = "Glass shards are embedded in the cover. Hopefully you'll learn sometthing from this." + }, +/turf/open/floor/engine, +/area/station/engineering/atmos) "xen" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -68052,16 +72168,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"xeD" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/chair/stool/directional/east, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/iron, -/area/station/engineering/break_room) "xeM" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -68153,6 +72259,22 @@ /obj/structure/rack, /turf/open/floor/tram, /area/station/maintenance/port/aft) +"xfz" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/break_room) +"xfB" = ( +/mob/living/simple_animal/bot/firebot, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/holopad, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/storage_shared) "xfH" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/iron, @@ -68233,13 +72355,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"xgB" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold/brown/visible, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "xgK" = ( /obj/structure/disposalpipe/segment, /obj/structure/disposalpipe/segment{ @@ -68334,16 +72449,13 @@ "xia" = ( /turf/closed/wall, /area/station/science/cubicle) -"xif" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 +"xih" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{ + dir = 6 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/small, -/area/station/engineering/atmos) +/turf/open/floor/iron, +/area/station/engineering/hallway) "xik" = ( /turf/closed/wall, /area/station/security/prison/rec) @@ -68392,6 +72504,28 @@ /obj/machinery/duct, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) +"xiN" = ( +/obj/machinery/door/window/left/directional/north{ + name = "Equipment Storage"; + pixel_x = -1; + req_access = list("eva") + }, +/obj/structure/rack, +/obj/item/clothing/shoes/magboots, +/obj/item/clothing/shoes/magboots{ + pixel_x = 4; + pixel_y = -3 + }, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/tank/jetpack/carbondioxide{ + pixel_x = -4; + pixel_y = 1 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Atmospherics - South" + }, +/turf/open/floor/iron/large, +/area/station/ai_monitored/command/storage/eva) "xiT" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -68407,6 +72541,15 @@ dir = 5 }, /area/station/science/lower) +"xjc" = ( +/obj/effect/turf_decal/stripes/end{ + dir = 4 + }, +/obj/structure/transit_tube/curved{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) "xjg" = ( /turf/open/floor/iron/dark, /area/station/security/interrogation) @@ -68519,11 +72662,6 @@ "xkt" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/security/armory) -"xkD" = ( -/obj/structure/chair/stool/directional/east, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/iron, -/area/station/engineering/break_room) "xkK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -68560,6 +72698,14 @@ }, /turf/open/floor/iron/smooth, /area/station/service/greenroom) +"xkX" = ( +/obj/effect/turf_decal/tile/yellow/diagonal_centre, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/holopad, +/turf/open/floor/iron/diagonal, +/area/station/engineering/lobby) "xla" = ( /obj/structure/toilet{ dir = 8 @@ -68601,16 +72747,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/commons/vacant_room/office) -"xlF" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "xlL" = ( /turf/open/floor/iron/white, /area/station/science/cytology) @@ -68633,22 +72769,15 @@ /obj/structure/flora/bush/flowers_pp/style_random, /turf/open/misc/sandy_dirt, /area/station/medical/medbay/lobby) -"xmb" = ( -/obj/structure/window/reinforced/survival_pod/spawner/directional/east, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "Gas to Filter" - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "xmd" = ( /obj/structure/window/spawner/directional/east, /obj/structure/flora/bush/flowers_yw/style_random, /turf/open/misc/sandy_dirt, /area/station/medical/medbay/lobby) +"xme" = ( +/obj/machinery/portable_atmospherics/canister, +/turf/open/floor/engine, +/area/station/engineering/atmos) "xmg" = ( /obj/structure/broken_flooring/singular/directional/south, /obj/machinery/light/small/directional/east, @@ -68704,21 +72833,6 @@ "xmO" = ( /turf/closed/wall/r_wall, /area/station/maintenance/fore/greater) -"xmT" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "xmX" = ( /obj/effect/mapping_helpers/broken_floor, /obj/machinery/light/small/directional/east, @@ -68727,6 +72841,18 @@ }, /turf/open/floor/iron/smooth_large, /area/station/science/auxlab/firing_range) +"xmZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor{ + id = "Secure Storage"; + name = "Secure Storage" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/plating/rust, +/area/station/engineering/storage_shared) "xnd" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron/white, @@ -68745,6 +72871,11 @@ /obj/effect/turf_decal/delivery/white, /turf/open/floor/iron, /area/station/cargo/sorting) +"xnA" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, +/turf/open/floor/plating, +/area/station/engineering/supermatter/room) "xnB" = ( /obj/effect/turf_decal/stripes/white/corner, /obj/effect/turf_decal/stripes/white/line, @@ -68760,6 +72891,14 @@ "xnE" = ( /turf/closed/wall/r_wall, /area/station/hallway/secondary/entry) +"xnL" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/warning/electric_shock/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "xnR" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /obj/effect/decal/cleanable/dirt, @@ -68783,6 +72922,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"xoh" = ( +/obj/structure/cable, +/obj/machinery/power/smes/full, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/station/engineering/gravity_generator) "xok" = ( /turf/closed/wall/r_wall, /area/station/maintenance/starboard/central) @@ -68798,12 +72944,24 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/iron/smooth, /area/station/security/evidence) +"xoz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "xoB" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white/side{ dir = 4 }, /area/station/science/xenobiology) +"xoJ" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/tank_holder/extinguisher, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "xoS" = ( /obj/effect/turf_decal/siding/thinplating_new/terracotta{ dir = 9 @@ -68811,6 +72969,25 @@ /obj/machinery/light_switch/directional/north, /turf/open/floor/iron/small, /area/station/ai_monitored/command/storage/eva) +"xoV" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ + dir = 9 + }, +/obj/structure/table, +/obj/effect/turf_decal/siding/thinplating_new/dark/end{ + dir = 4 + }, +/obj/item/geiger_counter{ + pixel_x = 7; + pixel_y = 14 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/item/radio/off{ + pixel_x = 1; + pixel_y = 3 + }, +/turf/open/floor/iron/small, +/area/station/engineering/atmos/pumproom) "xoW" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -68951,23 +73128,18 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"xql" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/maintenance{ - name = "Incinerator Access" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/smooth_half{ - dir = 1 - }, -/area/station/maintenance/disposal/incinerator) "xqn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/small, /area/station/science/cubicle) +"xqp" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/item/trash/tray, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/engine/atmos) "xqq" = ( /obj/item/reagent_containers/cup/glass/bottle/beer{ pixel_x = 8 @@ -69006,18 +73178,53 @@ "xqW" = ( /turf/closed/wall/r_wall, /area/station/hallway/primary/starboard) +"xri" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 10 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth_edge, +/area/station/engineering/supermatter/room) "xrk" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/effect/decal/cleanable/dirt, /obj/structure/cable, /turf/open/floor/iron, /area/station/security/processing) +"xrm" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/trimline/yellow/arrow_ccw{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) "xru" = ( /obj/item/kirbyplants/random/fullysynthetic, /obj/machinery/airalarm/directional/east, /obj/item/radio/intercom/prison/directional/south, /turf/open/floor/iron, /area/station/security/prison/workout) +"xrv" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Distro to Waste" + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "xry" = ( /obj/structure/chair/sofa/bench/left{ dir = 4 @@ -69033,6 +73240,10 @@ dir = 8 }, /area/station/service/theater) +"xrA" = ( +/obj/structure/sign/warning/pods/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "xrC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -69174,6 +73385,25 @@ dir = 1 }, /area/station/hallway/secondary/dock) +"xsX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/iron/smooth, +/area/station/engineering/break_room) +"xta" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/edge{ + dir = 4 + }, +/area/station/engineering/main) "xte" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -69213,17 +73443,6 @@ "xtW" = ( /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) -"xtX" = ( -/obj/machinery/power/emitter{ - dir = 8 - }, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/engineering/supermatter/room) "xtZ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -69233,15 +73452,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"xua" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/power/port_gen/pacman, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/smooth, -/area/station/engineering/engine_smes) "xuh" = ( /obj/structure/chair/pew/left, /obj/item/bouquet/sunflower, @@ -69268,6 +73478,14 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"xuv" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/chair/stool/directional/east, +/mob/living/basic/parrot/poly, +/turf/open/floor/mineral/titanium, +/area/station/command/heads_quarters/ce) "xuD" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -69304,6 +73522,10 @@ dir = 1 }, /area/station/science/research) +"xuX" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/incinerator_input, +/turf/open/floor/engine, +/area/station/maintenance/disposal/incinerator) "xva" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -69312,6 +73534,16 @@ dir = 1 }, /area/station/science/research) +"xvb" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/fuel_pool, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "xvf" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -69327,15 +73559,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"xvl" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "xvv" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -69483,6 +73706,10 @@ "xxs" = ( /turf/closed/wall, /area/station/security/checkpoint/escape) +"xxt" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "xxA" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, @@ -69547,11 +73774,6 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron, /area/station/security/brig/entrance) -"xya" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "xye" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -69580,14 +73802,6 @@ }, /turf/open/floor/iron/white/small, /area/station/medical/medbay/lobby) -"xyj" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/smooth, -/area/station/engineering/supermatter/room) "xyk" = ( /obj/structure/table, /obj/effect/turf_decal/tile/blue/full, @@ -69652,6 +73866,11 @@ }, /turf/open/floor/iron/small, /area/station/hallway/secondary/exit/departure_lounge) +"xzm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/closed/wall, +/area/station/engineering/atmos) "xzo" = ( /obj/machinery/door/airlock/external{ name = "Departure Lounge Airlock" @@ -69666,18 +73885,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood/parquet, /area/station/service/theater) -"xzB" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/table/reinforced/titaniumglass, -/obj/item/folder/yellow{ - pixel_x = 4 - }, -/turf/open/floor/iron/textured_large, -/area/station/engineering/break_room) "xzE" = ( /obj/structure/table, /obj/effect/turf_decal/tile/dark_red, @@ -69693,16 +73900,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/processing) -"xzJ" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Engineering Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "xzQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/item/radio/intercom/directional/west, @@ -69721,6 +73918,20 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"xAh" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer5{ + dir = 4 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "xAm" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, @@ -69783,6 +73994,28 @@ /obj/machinery/light/cold/directional/south, /turf/open/floor/iron/dark/side, /area/station/hallway/primary/central/fore) +"xAW" = ( +/obj/effect/turf_decal/stripes/white/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, +/turf/open/floor/engine, +/area/station/engineering/supermatter) +"xBa" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 1 + }, +/obj/machinery/door/airlock/external/glass{ + name = "South Tanks Airlock" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plating, +/area/station/engineering/atmos/space_catwalk) "xBe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, @@ -69808,6 +74041,12 @@ dir = 1 }, /area/station/hallway/secondary/entry) +"xBD" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, +/obj/effect/turf_decal/tile/yellow, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "xBF" = ( /obj/structure/table, /obj/item/storage/fancy/donut_box, @@ -69815,6 +74054,11 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) +"xBH" = ( +/obj/item/radio/intercom/directional/east, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "xBK" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -69824,6 +74068,10 @@ }, /turf/open/floor/wood/parquet, /area/station/service/library) +"xBV" = ( +/obj/effect/spawner/random/structure/chair_flipped, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "xBY" = ( /obj/effect/spawner/random/trash, /turf/open/floor/plating, @@ -69839,6 +74087,16 @@ }, /turf/open/floor/iron/small, /area/station/hallway/secondary/exit/departure_lounge) +"xCc" = ( +/obj/machinery/modular_computer/preset/id{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/mineral/titanium, +/area/station/command/heads_quarters/ce) "xCl" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -69864,6 +74122,18 @@ }, /turf/open/space/basic, /area/space/nearstation) +"xCR" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Engineering Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "engine_airlock_2" + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "xCS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70031,6 +74301,20 @@ "xFe" = ( /turf/closed/wall, /area/station/security/lockers) +"xFj" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing, +/obj/machinery/atmospherics/components/trinary/filter/atmos/plasma{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer5{ + dir = 4 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "xFw" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/structure/chair/sofa/bench{ @@ -70122,6 +74406,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"xGH" = ( +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron/smooth, +/area/station/engineering/main) "xGJ" = ( /turf/closed/wall, /area/station/command/corporate_showroom) @@ -70172,20 +74460,6 @@ }, /turf/open/floor/iron/terracotta/small, /area/station/security/checkpoint/escape) -"xHv" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/machinery/disposal/bin, -/obj/machinery/light_switch/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/directional/south, -/turf/open/floor/iron/smooth, -/area/station/service/greenroom) "xHB" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/table, @@ -70222,6 +74496,21 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron, /area/station/security/tram) +"xHT" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"xHV" = ( +/obj/effect/turf_decal/siding/wideplating, +/obj/effect/landmark/start/atmospheric_technician, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/office) "xIj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70244,6 +74533,13 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"xIr" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/holopad, +/obj/effect/landmark/atmospheric_sanity/ignore_area, +/turf/open/floor/iron, +/area/station/engineering/atmos/space_catwalk) "xIu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -70446,6 +74742,15 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/dark/small, /area/station/service/chapel/storage) +"xKz" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/turf_decal/siding/wideplating, +/obj/structure/closet/secure_closet/atmospherics, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/airalarm/directional/north, +/obj/item/clothing/suit/hooded/wintercoat/engineering/atmos, +/turf/open/floor/iron, +/area/station/engineering/atmos) "xKG" = ( /turf/open/floor/iron, /area/station/hallway/primary/port) @@ -70458,6 +74763,9 @@ }, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/escape) +"xKS" = ( +/turf/closed/wall, +/area/station/engineering/atmos/space_catwalk) "xKX" = ( /turf/open/floor/iron/white/side{ dir = 4 @@ -70509,6 +74817,13 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"xLp" = ( +/obj/machinery/computer/atmos_control/air_tank{ + dir = 1 + }, +/obj/machinery/status_display/evac/directional/west, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos/office) "xLu" = ( /obj/structure/mirror/directional/east, /obj/structure/chair/stool/bar/directional/east, @@ -70518,6 +74833,11 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron/small, /area/station/commons/fitness/locker_room) +"xLy" = ( +/obj/effect/turf_decal/sand/plating, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) "xLE" = ( /obj/structure/barricade/wooden/crude, /turf/open/floor/plating, @@ -70616,6 +74936,18 @@ "xNw" = ( /turf/closed/wall, /area/station/science/breakroom) +"xNE" = ( +/obj/structure/steam_vent, +/obj/structure/closet/crate, +/obj/structure/spider/stickyweb, +/obj/item/hfr_box/corner, +/obj/item/hfr_box/body/moderator_input, +/obj/item/grenade/chem_grenade/cleaner, +/obj/structure/sign/poster/official/random/directional/north, +/obj/item/pipe_dispenser, +/obj/item/clothing/gloves/color/red/insulated, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "xNI" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -70630,10 +74962,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/central/greater) -"xNU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/small, -/area/station/engineering/atmos) "xNV" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -70696,6 +75024,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/textured_half, /area/station/security/breakroom) +"xOJ" = ( +/obj/machinery/atmospherics/pipe/smart/simple/pink/visible{ + dir = 10 + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/station/engineering/supermatter) "xOM" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/mapping_helpers/broken_floor, @@ -70714,6 +75048,16 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/storage/tcomms) +"xOO" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ + dir = 10 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) "xOP" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -70724,6 +75068,12 @@ }, /turf/open/floor/iron, /area/station/security/brig/entrance) +"xOR" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/mix_output{ + dir = 8 + }, +/turf/open/floor/engine/airless, +/area/station/engineering/atmos) "xOS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral, @@ -70818,14 +75168,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron/dark/small, /area/station/science/xenobiology) -"xQi" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "ceprivacy"; - name = "Privacy Shutter" - }, -/turf/open/floor/plating, -/area/station/engineering/break_room) "xQj" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -70838,6 +75180,14 @@ "xQr" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/station/engineering/supermatter) +"xQt" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/hallway) "xQv" = ( /obj/structure/cable, /obj/structure/closet/secure_closet/hop, @@ -70870,15 +75220,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"xQC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow, -/turf/open/floor/iron, -/area/station/engineering/break_room) "xQD" = ( /obj/structure/chair/wood/wings, /obj/effect/turf_decal/siding/wood{ @@ -70887,24 +75228,16 @@ /obj/structure/cable, /turf/open/floor/stone, /area/station/command/heads_quarters/captain/private) +"xQG" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "xQI" = ( /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) "xQJ" = ( /turf/closed/wall, /area/station/service/abandoned_gambling_den/gaming) -"xQK" = ( -/obj/effect/turf_decal/tile/dark_red{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 8 - }, -/obj/machinery/computer/department_orders/security{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/security/brig/entrance) "xQN" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -70912,6 +75245,18 @@ }, /turf/open/floor/iron/dark/small, /area/station/tcommsat/server) +"xQS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ + dir = 8 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "xQW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -70921,6 +75266,25 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/diagonal, /area/station/science/auxlab/firing_range) +"xQZ" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) +"xRa" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating/elevatorshaft, +/area/station/engineering/atmos) "xRg" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70954,6 +75318,11 @@ /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"xRv" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/components/unary/passive_vent/layer2, +/turf/open/space/basic, +/area/space/nearstation) "xRA" = ( /obj/structure/chair/sofa/bench/left{ dir = 8 @@ -71031,6 +75400,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) +"xSi" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos) "xSp" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/blue/half/contrasted{ @@ -71144,6 +75521,12 @@ /obj/effect/landmark/start/paramedic, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"xTM" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 6 + }, +/turf/open/floor/iron/smooth, +/area/station/engineering/atmos) "xTO" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 @@ -71255,6 +75638,11 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/iron, /area/station/security/execution/transfer) +"xVd" = ( +/obj/effect/turf_decal/sand/plating, +/obj/item/stack/ore/slag, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) "xVj" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -71288,13 +75676,6 @@ /obj/structure/cable, /turf/open/floor/iron/white/small, /area/station/science/cubicle) -"xVx" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine) "xVG" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -71435,6 +75816,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"xXl" = ( +/obj/structure/table/reinforced, +/obj/structure/showcase/machinery/microwave{ + pixel_y = 7 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/small, +/area/station/engineering/break_room) "xXr" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -71522,6 +75911,17 @@ "xXT" = ( /turf/closed/wall, /area/station/maintenance/starboard/fore) +"xYm" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/turf/open/floor/iron/stairs/old{ + dir = 4 + }, +/area/station/engineering/supermatter/room) "xYu" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -71560,6 +75960,18 @@ "xYO" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/bridge) +"xYX" = ( +/obj/effect/turf_decal/siding/red{ + dir = 8 + }, +/obj/machinery/air_sensor/nitrogen_tank, +/turf/open/floor/engine/n2, +/area/station/engineering/atmos/space_catwalk) +"xZb" = ( +/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/main) "xZd" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/effect/decal/cleanable/dirt, @@ -71619,9 +76031,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/hallway/primary/central/fore) -"xZV" = ( -/turf/closed/mineral/random/stationside, -/area/station/engineering/supermatter/room) "xZX" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -71637,6 +76046,10 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"yac" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, +/turf/open/floor/iron/stairs/medium, +/area/station/engineering/atmos) "yag" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/north, @@ -71654,6 +76067,19 @@ /obj/structure/reagent_dispensers/water_cooler, /turf/open/floor/iron, /area/station/security/tram) +"yaq" = ( +/obj/structure/lattice/catwalk, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer5{ + dir = 1 + }, +/turf/open/space/basic, +/area/station/engineering/atmos/space_catwalk) "yat" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/landmark/start/assistant, @@ -71722,6 +76148,23 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/textured_half, /area/station/security/interrogation) +"ybs" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/engine/atmos) +"ybC" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/camera/directional/west{ + c_tag = "Engineering - Break Room" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/engineering/hallway) "ybD" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -71812,6 +76255,21 @@ }, /turf/open/floor/iron/white, /area/station/science/research) +"ycx" = ( +/obj/structure/chair/sofa/bench/right{ + dir = 1 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Atmospherics - South" + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/machinery/computer/security/telescreen/entertainment/directional/south, +/turf/open/floor/iron/dark/side, +/area/station/hallway/primary/central/fore) "ycC" = ( /turf/closed/wall/r_wall, /area/station/command/bridge) @@ -71821,6 +76279,10 @@ "ycS" = ( /turf/open/floor/wood/tile, /area/station/service/bar) +"ycW" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/smooth_edge, +/area/station/engineering/supermatter/room) "ycZ" = ( /obj/structure/disposalpipe/segment, /obj/structure/disposalpipe/segment{ @@ -71839,6 +76301,23 @@ }, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) +"ydi" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 1 + }, +/obj/machinery/door/airlock/external/glass{ + name = "South Tanks Airlock" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/engineering/atmos/space_catwalk) "ydj" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -71883,6 +76362,30 @@ }, /turf/open/floor/engine, /area/station/science/cytology) +"ydI" = ( +/obj/machinery/light/cold/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos) +"ydL" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/engine) +"ydV" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/hallway) "yea" = ( /turf/closed/wall, /area/station/service/chapel/office) @@ -71958,14 +76461,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"yeE" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/sand/plating, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "yeF" = ( /obj/structure/closet/firecloset, /obj/effect/turf_decal/bot, @@ -71996,6 +76491,17 @@ }, /turf/open/floor/plating, /area/station/security/detectives_office) +"yeY" = ( +/obj/structure/window/spawner/directional/east, +/obj/item/screwdriver, +/obj/item/weldingtool/mini{ + pixel_x = 2; + pixel_y = 7 + }, +/obj/structure/rack, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron, +/area/station/engineering/lobby) "yeZ" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance/testlab) @@ -72010,13 +76516,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"yfe" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/iron/smooth, -/area/station/maintenance/disposal/incinerator) "yfg" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/smooth_corner{ @@ -72070,6 +76569,12 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"yfN" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/maintenance/department/engine/atmos) "yfP" = ( /obj/machinery/modular_computer/preset/civilian{ dir = 4 @@ -72135,18 +76640,6 @@ /obj/machinery/status_display/ai/directional/south, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/turret_protected/ai_upload) -"ygP" = ( -/obj/structure/cable, -/obj/machinery/modular_computer/preset/engineering{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine) "ygU" = ( /obj/structure/table/glass, /obj/machinery/computer/records/medical/laptop{ @@ -72207,11 +76700,21 @@ /obj/machinery/newscaster/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"yic" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"yhS" = ( +/obj/effect/decal/cleanable/insectguts, /turf/open/floor/iron, -/area/station/engineering/atmos/storage/gas) +/area/station/engineering/atmospherics_engine) +"yhY" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 6 + }, +/obj/machinery/camera/emp_proof{ + c_tag = "Engineering - Atmospherics CO2 Chamber"; + dir = 5; + network = list("ss13","engineering") + }, +/turf/open/floor/engine/o2, +/area/station/engineering/atmos/space_catwalk) "yig" = ( /obj/structure/table, /obj/structure/window/reinforced/spawner/directional/east, @@ -72225,6 +76728,13 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/turret_protected/ai_upload) +"yii" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/components/binary/pump{ + name = "North Ports to Wastes" + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "yij" = ( /obj/structure/chair/sofa/bench/left{ dir = 1 @@ -72235,6 +76745,13 @@ }, /turf/open/floor/iron/white/side, /area/station/hallway/primary/starboard) +"yil" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "yim" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/railing{ @@ -72278,20 +76795,6 @@ /obj/effect/mapping_helpers/airlock/access/all/service/theatre, /turf/open/floor/plating, /area/station/maintenance/central/greater) -"yiy" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 4 - }, -/turf/open/space/basic, -/area/space/nearstation) -"yiF" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/engine) "yiL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -72326,17 +76829,6 @@ "yjd" = ( /turf/open/floor/iron/dark, /area/station/security/lockers) -"yjg" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, -/turf/open/floor/iron/dark, -/area/station/engineering/main) "yjr" = ( /obj/structure/chair/stool/directional/north, /obj/effect/turf_decal/siding/red, @@ -72372,6 +76864,35 @@ }, /turf/open/floor/iron/dark/herringbone, /area/station/service/abandoned_gambling_den/gaming) +"yjN" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/arrow_ccw{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/engineering/supermatter/room) +"yjQ" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/turf_decal/tile/red/anticorner/contrasted, +/obj/structure/cable, +/obj/structure/closet/secure_closet/security/engine, +/obj/item/radio/off{ + pixel_x = -5; + pixel_y = 2 + }, +/obj/item/geiger_counter{ + pixel_x = 7; + pixel_y = 3 + }, +/turf/open/floor/iron/smooth, +/area/station/security/checkpoint/engineering) "yjV" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/aisat/exterior) @@ -72405,16 +76926,20 @@ /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"ykC" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/camera/directional/south{ + c_tag = "Atmospherics - South" + }, +/obj/machinery/status_display/evac/directional/south, +/turf/open/floor/iron, +/area/station/commons/dorms) "ykL" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/ai_upload_foyer) -"ykQ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/station/maintenance/department/engine) "ykT" = ( /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron, @@ -72514,6 +77039,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"ymj" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/engineering/atmospherics_engine) (1,1,1) = {" dDB @@ -74350,7 +78882,7 @@ dDB dDB dDB dDB -dDB +aan dDB dDB dDB @@ -74615,8 +79147,8 @@ dDB dDB dDB dDB -dDB -dDB +aJq +aJq dDB dDB dDB @@ -74871,9 +79403,9 @@ dDB dDB dDB dDB -dDB -dDB -dDB +tYT +aJq +aJq dDB dDB dDB @@ -75128,8 +79660,8 @@ dDB dDB dDB dDB -dDB -dDB +tYT +tYT dDB dDB dDB @@ -75375,6 +79907,8 @@ dDB dDB dDB dDB +aJq +aJq dDB dDB dDB @@ -75382,10 +79916,8 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB +aJq +aJq dDB dDB dDB @@ -75631,17 +80163,17 @@ dDB dDB dDB dDB +aJq +aJq +aJq +aJq dDB dDB dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB +aJq dDB dDB dDB @@ -75888,6 +80420,26 @@ dDB dDB dDB dDB +aJq +aJq +aJq +tYT +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +xZx dDB dDB dDB @@ -75905,27 +80457,7 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB +bjQ dDB dDB dDB @@ -76145,6 +80677,26 @@ dDB dDB dDB dDB +tYT +aJq +aJq +tYT +tYT +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +xZx +dDB +dDB +blb dDB dDB dDB @@ -76162,30 +80714,10 @@ dDB dDB dDB dDB +blb dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB +bjQ dDB dDB dDB @@ -76401,6 +80933,13 @@ dDB dDB dDB dDB +tYT +tYT +aJq +aJq +aJq +aJq +aJq dDB dDB dDB @@ -76411,38 +80950,31 @@ dDB dDB dDB dDB +blb +dDB +dDB +blb dDB dDB dDB dDB dDB dDB +xxo +dDB +dDB +dDB +xxo dDB dDB dDB dDB dDB dDB +blb dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB +blb dDB dDB dDB @@ -76658,24 +81190,13 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -aan -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB +tYT +aJq +aJq +aJq +aJq +aJq +aJq dDB dDB dDB @@ -76686,20 +81207,31 @@ dDB dDB dDB dDB +blb +dDB +dDB +blb dDB dDB dDB dDB dDB dDB +blb +dDB +dDB +dDB +blb dDB dDB dDB dDB dDB dDB +blb dDB dDB +blb dDB dDB dDB @@ -76915,6 +81447,14 @@ dDB dDB dDB dDB +tYT +aJq +aJq +aJq +aJq +aJq +aJq +aJq dDB dDB dDB @@ -76924,39 +81464,31 @@ dDB dDB dDB dDB +blb +dDB +dDB +jrj dDB dDB dDB dDB dDB dDB +blb +dDB +dDB +dDB +blb dDB dDB dDB dDB dDB dDB +jrj dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB +blb dDB dDB dDB @@ -77166,7 +81698,20 @@ dDB dDB dDB dDB -aan +dDB +dDB +dDB +dDB +dDB +dDB +dDB +aJq +aJq +aJq +aJq +tYT +tYT +aJq dDB dDB dDB @@ -77176,44 +81721,31 @@ dDB dDB dDB dDB +blb +fNQ +xQZ +wlU dDB dDB dDB dDB dDB dDB +xck +blb +jFk +blb +xck dDB dDB dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -rpi -rpi -rpi -rpi -rpi -rpi -rpi -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB +lTC +xQZ +khr +blb dDB dDB dDB @@ -77428,57 +81960,57 @@ dDB dDB dDB dDB -wCc -wCc -wCc -wCc -wCc +dDB +dDB +dDB +aJq +tYT +tYT +dDB +dDB +gcs +dDB +dDB +dDB +dDB +dDB +chj +chj +chj +chj blb +aky blb -wCc -wCc -wCc -wCc -wCc -wCc +wpY +dDB +dDB +dDB +dDB +dDB +dDB +xck +kFH +iRp +kFH +xck +dDB +dDB +dDB +dDB +dDB +dDB +wpY blb +aky blb -blb -blb -wCc -wCc -wCc -wCc -blb -blb -rpi -rpi -blb -blb -rpi -blb -blb -rpi -rpi -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB +chj +chj +chj +chj dDB dDB dDB +xxo dDB dDB dDB @@ -77687,7 +82219,8 @@ dDB dDB dDB dDB -blb +dDB +gcs dDB dDB dDB @@ -77698,44 +82231,43 @@ dDB dDB dDB dDB +chj +qfn +gbE +kYo +eAI +eVk +blb +ekf dDB dDB dDB dDB dDB dDB +xck +uic +fMP +bbF +xck dDB dDB dDB -rpi -rpi +dDB +dDB +dDB +ekf +blb +kHQ +oBk +oGn +hXB +kRu +chj blb blb -beL -dBV -bxH blb -blb -rpi -rpi -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB +svB dDB dDB dDB @@ -77941,59 +82473,59 @@ dDB dDB dDB dDB -aJq -aJq +dDB +dDB +dDB +dDB +kaP +dDB +dDB +dDB dDB blb dDB dDB dDB dDB -wCc -wCc +dDB +chj +ijn +rCX +dzA +lsK +diL +lsK +xFj blb blb -wCc -wCc -wCc -wCc -wCc -wCc +blb +xck +xck +xck +xck +wyZ +pvE +aKU +xck +xck +xck +xck blb blb -wCc -wCc blb -rpi +ekf blb +mSS +sfl +oGn +keS +ozz +chj +dDB +dDB +dDB +kaP blb -bfG -bkz -dBV -bkz -bBf -blb -blb -rpi -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -aan -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB dDB dDB dDB @@ -78197,21 +82729,12 @@ dDB dDB dDB dDB -aJq -aJq -hwJ -blb -blb -blb -blb -blb -blb -blb dDB dDB dDB dDB dDB +svB dDB dDB dDB @@ -78221,37 +82744,46 @@ dDB dDB dDB dDB -rpi +dDB +chj +chj +chj +chj blb -beL -dBV -bkH -bsQ -bkH -dBV -bxH +iwi blb -rpi -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB +xAh dDB dDB dDB dDB +kFH +aKo +poV +clX +qtv +hsy +reL +xLp +kFH dDB dDB dDB dDB +ekf +blb +uRO +blb +chj +chj +chj +chj dDB dDB dDB +kaP dDB +xxo dDB dDB dDB @@ -78454,44 +82986,19 @@ dDB dDB dDB dDB -aJq -aJq -aJq -tYT +aan +dDB +dDB +dDB +dDB +kaP +dDB +dDB +dDB +dDB blb dDB dDB -alD -anv -rMn -rMn -rMn -rMn -rMn -rMn -rpi -rMn -rMn -rMn -rMn -rMn -rMn -rpi -rpi -rpi -rpi -dBV -bfN -blG -btL -bxN -dBV -bTa -rpi -rpi -dDB -dDB -dDB dDB dDB dDB @@ -78500,6 +83007,29 @@ dDB dDB dDB dDB +iwi +blb +xAh +dDB +dDB +dDB +dDB +kFH +fiq +xHV +duY +cVY +wKy +pXu +kRW +kFH +dDB +dDB +dDB +dDB +ekf +blb +uRO dDB dDB dDB @@ -78508,7 +83038,9 @@ dDB dDB dDB dDB +kaP dDB +svB dDB dDB dDB @@ -78710,62 +83242,62 @@ dDB dDB dDB dDB -aJq -aJq -aJq -aJq +dDB +dDB +dDB +dDB +dDB +dDB +kaP +dDB +dDB +dDB +dDB +gcs tYT +dDB +dDB +dDB +chj +chj +chj +chj +chj blb -dDB -dDB -alR -voO -rpi -rpi -voO -voO -voO -voO -voO -voO -rpi -voO -voO -voO -voO -voO -rpi -rpi +iwi blb -vrw -dBV -bkH -bsQ -bkH -bkz -byk +xAh +dDB +dDB +dDB +dDB +kFH +ehw +gBG +hir +weU +iCp +aXy +nMQ +kFH +dDB +dDB +dDB +dDB +ekf blb -rpi -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB +uRO +blb +chj +chj +chj +chj +chj dDB dDB +xxo dDB +kaP dDB dDB dDB @@ -78967,62 +83499,62 @@ dDB dDB dDB dDB -aJq +dDB +dDB +dDB +dDB +dDB +dDB +gcs +dDB +dDB +dDB aJq aJq tYT -tYT -tYT -dDB -dDB -amp -dDB -dDB -dDB -dDB -dDB -dDB -dDB dDB dDB dDB +chj +jbo +rkS +hIU +kYo +ubs +tDl blb -dDB -dDB -dDB -dDB -dDB -rpi +xAh blb blb -bfX -dBV -bkz -dBV -bBl +oDE +xck +xck +xck +xck +kph +nQC +uFT +xck +xck +xck +xck +qwo blb blb -rpi -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB +ekf +blb +uCa +tbX +oGn +hFR +xYX +cPv +chj dDB dDB dDB dDB +kaP dDB dDB dDB @@ -79224,62 +83756,62 @@ dDB dDB dDB dDB +dDB +dDB +dDB +dDB +dDB +dDB +aJq +aJq +tYT +tYT aJq aJq aJq -tYT -tYT -tYT -tYT -dDB -amp -dDB -dDB -dDB dDB dDB dDB +chj +rhu +soB +syc +dzA +lsK +bWg +lsK +wgl dDB dDB dDB dDB blb -lgg -sRm -dDB -lgg -sRm -rpi -rpi +xck +oLN +uMh +pwD +pyl +ojW +xck blb -blb -vrw -dBV -byk -blb -blb -rpi -rpi dDB dDB dDB dDB +gcR +lsK +nUB +lsK +dzA +cpC +ltz +tcZ +chj dDB dDB dDB dDB -knv -ctV -cmf -ctV -knv -dDB -dDB -dDB -dDB -dDB -dDB -dDB +kaP dDB dDB dDB @@ -79480,63 +84012,63 @@ dDB dDB dDB dDB -aJq -aJq +dDB +dDB +dDB +dDB +dDB +dDB +dDB aJq aJq aJq tYT tYT +aJq +aJq tYT dDB -amp -dDB -dDB -dDB -dDB -dDB dDB +chj +chj +chj +chj +chj +blb +kHI +blb +xAh dDB dDB dDB dDB blb -vrT -vrT -aGa -vrT -vrT -blb -rpi -rpi -blb -blb -rpi -blb -blb -rpi -rpi +xck +toK +cTS +raP +aOS +akS +xck blb dDB dDB dDB dDB +xAh +blb +sAW +blb +chj +chj +chj +chj +chj dDB dDB +xxo dDB -knv -cmf -dJN -eiM -eFN -knv -cmf -dDB -dDB -dDB -dDB -dDB -aan +svB dDB dDB dDB @@ -79736,17 +84268,6 @@ dDB dDB dDB dDB -blb -ayi -ayi -acF -ayi -ayi -arP -acF -ayi -ayi -amq dDB dDB dDB @@ -79755,39 +84276,45 @@ dDB dDB dDB dDB +aJq +aJq +aJq +aJq +tYT +aJq +aJq +aJq dDB dDB -blb -anV -anV -dDB -anV -anV -blb -dDB -rpi -rpi -rpi -rpi -rpi -rpi -rpi dDB +vmL blb dDB dDB dDB +kHI +blb +xAh dDB dDB +blb +xck +xck +xck +gnd +jWk +gnd +cxQ +gnd +xck +xck +xck +blb dDB dDB -knv -dpN -dKj -eiU -cvJ -eYV -knv +xAh +blb +sAW dDB dDB dDB @@ -79796,6 +84323,11 @@ dDB dDB dDB dDB +kaP +dDB +kaP +dDB +dDB dDB dDB dDB @@ -79993,64 +84525,64 @@ dDB dDB dDB dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +aJq +aJq +aJq +aJq +aJq +tYT +aJq +aJq +tYT +dDB +chj +chj +chj +chj +chj blb -arP -abs -adO -ayi -aeF -aeF -aeF -ajI -ajM -amp +kgG +ttg +gEy +dmb +dmb +cnU +ilb +nks +cbJ +xKS +ptz +cBR +udP +xKS +cbJ +nks +tYn +bsn +yaq +yaq +nWE +ttg +fRm blb +chj +chj +chj +chj +chj dDB dDB +kaP dDB -dDB -dDB -dDB -dDB -dDB -lgg -oer -atN -cDk -dDB -qyo -atN -oer -sRm -dDB -blb -dDB -rpi -dDB -blb -dDB -dDB -blb -dDB -dDB -dDB -dDB -dDB -dDB -dDB -knv -dqG -dKk -cvJ -eFP -eZO -knv -dDB -dDB -dDB -dDB -dDB -dDB +xxo dDB dDB dDB @@ -80250,17 +84782,6 @@ dDB dDB dDB dDB -blb -arP -asf -asq -aeA -afi -agE -aiA -ajI -ayi -amG dDB dDB dDB @@ -80269,44 +84790,55 @@ dDB dDB dDB dDB -dDB -anV -blb -vrT +tYT +aJq +aJq +aJq +aJq +aJq +aJq +aJq +tYT +tYT +chj +izm +txd +pKg +kYo +wdJ +tiS +myi +dHU +rQm +rQm +cJb +qPg +puI +qkI +gIz +gNS +xIr +sDl +xBa +utv +ydi +nEa +fiI blb blb +ccu +bTJ +pCo +sAb +oGn +ckI +exr +sfd +chj +dDB +dDB +svB blb -vrT -blb -anV -dDB -blb -jZl -btP -jZl -blb -dDB -dDB -jZl -dDB -dDB -dDB -dDB -dDB -dDB -dDB -cmf -dqK -dPz -cvJ -cmf -faj -knv -dDB -dDB -dDB -dDB -dDB dDB dDB dDB @@ -80507,62 +85039,62 @@ dDB dDB dDB dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +tYT +aJq +aJq +aJq +aJq +aJq +aJq aJq -ayi -agn -aun -aEA -afP -agT -aiJ -aun -ajQ -amV -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -qyo -oer -yiy -sRm -dDB -lgg -yiy -oer -cDk -dDB blb -jZl -buy -jZl -bBy -bBy -bBy -jZl -aJq -dDB -dDB -dDB -dDB -dDB -dDB -knv -dra -dQS -cvJ -knv -fbo -cmf -dDB -dDB +chj +peW +aqn +sxD +dzA +lsK +qDq +hZb +nEN +fFe +fFe +cgh +rwl +nks +epr +xKS +fcI +dvv +cBV +xKS +epr +nks +vbL +vvg +fFe +fFe +cmu +mSc +dXa +lsK +dzA +mKV +pUe +yhY +chj dDB dDB +kaP dDB dDB dDB @@ -80764,62 +85296,62 @@ dDB dDB dDB dDB -aJq -ayi -agn -aun -aKH -afX -agT -aiJ -aun -ajQ -amV dDB dDB dDB dDB dDB dDB +dDB +dDB +dDB +tYT aJq aJq +aJq +aJq +aJq +aJq +aJq +blb +chj +chj +chj +chj +chj +blb +nYD +blb +aky +blb +dDB +dDB +ybO +ybO +ybO +hYC +okt +hYC +rEH +hYC +ybO +ybO +ybO dDB dDB blb -qyo -atN -aGF -atN -cDk -ayK -mKG -beO -ayK -jZl -buI -jZl -bCi -bTg -cbM -jZl -jZl -aJq -aJq -dDB -dDB -dDB -dDB -knv -knv -cmf -eki -knv -knv -knv -dDB -dDB +aky +blb +vdi +blb +chj +chj +chj +chj +chj dDB dDB +xxo dDB dDB dDB @@ -81020,58 +85552,54 @@ dDB dDB dDB dDB -aJq -aJq -ayi -acu -adR -acl -wRW -agY -ayi -ayi -acF -ann dDB dDB dDB dDB +dDB +dDB +dDB +dDB +dDB +dDB +tYT +tYT aJq aJq aJq aJq -ayK -ayK -ayK -ayK -jqF +aJq +aJq +tYT +tYT blb -jqF -ayK -ayK -hdT -qHg -ayK -bmk -buN -byV -bCu -bCu -kSL -tXK -jZl -aJq -aJq -aJq +vmL +blb +dDB +dDB +rUD +orY +pML dDB dDB dDB +tYT +kFS +hYC +wfE +gNI +lBw +coO +ftc +hYC +kFS +tYT dDB -cmf -ctV -elm -ctV -cmf +dDB +dDB +jhz +hsL +kpe dDB dDB dDB @@ -81080,6 +85608,10 @@ dDB dDB dDB dDB +blb +dDB +dDB +dDB dDB dDB dDB @@ -81276,64 +85808,64 @@ dDB dDB dDB dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +tYT +tYT aJq aJq aJq -btC -acN -adB -aPb -aed -ahe -aiN -arP +aJq +aJq +aJq +tYT +tYT +dDB +blb +tYT +tYT +dDB +dDB +jul blb blb +dDB +dDB +tYT +tYT +kFS +hYC +xKz +aAb +svr +coO +gSh +hYC +kFS +tYT +tYT +dDB +dDB blb +pJT +rqV +dDB +dDB +dDB +aJq +aJq +aJq +tYT +aJq blb -blb -blb -gcs -aJq -aJq -aJq -ayK -aoe -atF -ayK -oNn -hdT -oNn -ayK -gnL -dLC -bfj -ayK -sru -buW -bzf -bCM -bTv -cbN -cgO -jZl -aJq -aJq -aJq -dDB -dDB -dDB -dDB -dDB -cea -elO -crE -dDB -dDB -dDB -dDB -dDB -dDB dDB dDB dDB @@ -81533,18 +86065,12 @@ dDB dDB dDB dDB -aJq -aJq -aJq -btC -acl -aed -aeC -agD -ahy -qAN -ayi -gcs +dDB +dDB +dDB +dDB +dDB +dDB dDB dDB dDB @@ -81553,44 +86079,50 @@ aJq aJq aJq aJq -xZV -ayK -aou -xgB -aHc -bsz -aHc -dtH -leF -uyE -lJA -jMo -ayK -pBy -bvT -bzn -bEi -bTN -ccK -cgU -jZl aJq aJq aJq -dDB -dDB -dDB -dDB -dDB -cea -emf -crE -dDB -dDB -dDB -dDB -dDB -dDB +aJq +tYT +vmL +wBo +giq +wBo +giq +wBo +vmL +apj +vmL +vmL +vmL +ybO +tYT +aJq +kFS +hYC +hYC +pEa +iCL +pTp +hYC +hYC +kFS +aJq +tYT +ybO +vmL +vmL +kwH +lLE +vmL +ybO +aJq +aJq +aJq +aJq +aJq +aJq +vmL dDB dDB dDB @@ -81790,68 +86322,68 @@ dDB dDB dDB dDB -aJq -aJq -aJq -btC -adB -adB -btC -btC -agT -ajg -ayi -aJq +dDB +dDB +dDB +dDB +dDB dDB dDB dDB dDB aJq aJq -xZV -xZV -xYG -xYG -wHh -mWN -hlw -diK -aII -dID -tKO -ogB -bUl -jmm -ayK -jZl -jZl -jZl -bFb -bUy -jZl -jZl -jZl -rQi aJq aJq aJq -dDB -dDB -dDB -dDB -cea -elm -crE -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB +aJq +aJq +aJq +tYT +tYT +tYT +fPb +hSG +drw +gvB +wBo +ybO +mKK +cwf +cwf +ybO +ybO +aJq +aJq +kFS +hYC +gJs +uaK +sSM +mvj +sAM +hYC +kFS +aJq +aJq +ybO +ybO +cwf +pfx +brC +ybO +ybO +akZ +akZ +akZ +akZ +akZ +akZ +gcs +blb +blb +blb +blb bjQ gAn gDC @@ -82047,64 +86579,64 @@ dDB dDB dDB dDB -aJq -aJq -aJq -btC -btC -acl -aPb -btC -agT -ayi -ayi -aJq dDB dDB dDB dDB -aJq -aJq -xZV -xZV -xZV -xYG -dsL -sFg -xQr -cFC -aJc -aME -xQr -cFF -kUy -diM -bfZ -bmn -bwg -rQi -bFM -bUX -rQi -iFB -wuk -rQi -rQi -aJq -aJq -aJq dDB dDB dDB -cea -elm -crE dDB dDB +tYT +aJq +aJq +aJq +aJq +aJq +aJq +aJq +tYT +blb +vmL +wBo +mnx +mQm +fhp +gKs +hXt +dbA +hXt +hXt +bJN +hYC +pwv +pwv +xzm +xzm +glJ +ooe +bdb +mxc +sNc +xzm +xzm +pwv +pwv +hYC +jrb +dZX +bDO +fxM +bkI +ybO +gBh +gBh +gBh +gBh +aJq aJq aJq -dDB -dDB dDB dDB dDB @@ -82304,68 +86836,68 @@ dDB dDB dDB dDB -aJq -aJq -aJq -btC -btC -aem -btC -aed -ahz -ajo -ayi -aJq dDB dDB dDB -aJq -aJq -aJq -xZV -xZV -xZV -npy -aqr -swI -xQr -qiX -jxu -buS -xQr -cdZ -gmi -wPV -npy -bmP -bzs -rQi -bHW -bUX -rQi -cNy -qLf -qsi -rQi -aJq -aJq -aJq -aJq -aJq -knv -ctV -elO -ctV -knv -aJq -aJq -aJq -aJq dDB dDB dDB dDB dDB +tYT +aJq +aJq +aJq +aJq +aJq +aJq +aJq +tYT +tYT +vmL +xRv +roc +qUd +jwC +bfs +gKs +ydI +lQd +ivT +gCP +sWE +hYC +gjP +quP +lrL +hYC +hYC +pDH +cwf +fXe +hYC +hYC +lMg +tSi +vnz +hYC +dYY +dqV +ivT +hpV +nkp +kvb +gBh +gBh +gBh +gBh +aJq +aJq +tYT +dDB +dDB +dDB +dDB dDB dDB ueX @@ -82561,64 +87093,64 @@ dDB dDB dDB dDB -aJq -aJq -aJq -ayi -btC -acl -aPb -aed -adB -ajo -ayi -ayi dDB dDB dDB -aJq -aJq -aJq -xZV -xZV -xZV -wxt -aqU -efa -oZg -geQ -aRR -pbt -cXF -bAq -mRT -dnp -bhc -bng -bzv -rQi -bHW -ctZ -ccN -cld -aFA -kwz -rQi +dDB +dDB +dDB +dDB +dDB aJq aJq aJq aJq -gBh -gBh -knv -emB -knv -knv +aJq +aJq +aJq +aJq +blb +vmL +aJq +vmL +wBo +nHR +sIT +jVI +bBd +sUk +apd +fJt +chb +hqm +uhh +gCR +lOk +cVS +kDY +kyg +xSi +tic +neM +bRc +kDY +cVS +bSm +qxz +mRA +hvZ +mXx +fJt +vPY +wPt +bNq cmf +fYU gBh -cmf knv knv +vmL +dDB dDB dDB dDB @@ -82818,64 +87350,64 @@ dDB dDB dDB dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +aJq +aJq +pWm +pWm +bvt +bvt +bvt +aJq +aJq tYT -tYT -aJq -acF -adF -aem -acl -aem -ahe -ayi -ayi -blb -blb -blb -blb -gcs -aJq -aJq -cwg -xZV -xZV -xYG -jKG -tod -vFW -aAt -oES -fzl -kBD -uRu -ofS -jOb -xtX -jAw -cdf -rQi -woe -kxK -rQi -clH -fIr -qsi +xpf +nqx +fPb +uNO +sud +cbX +gKs +mFZ +exE +tFB +wWP +dlk +qUN +paW +eOh +paW +nxO +pXc +nlI +iTZ +xTM +pXc +nxO +paW +qbv +paW +yac +tHY +efl +xoz +gro +mnA bNq -knv -knv -knv -gBh -gBh -gBh -dRi -enq -gCS -cuZ -hRz -cuZ -geI -knv +qeq +xLy +cvJ +ueX ggw +lzn +kCT kCT kCT kCT @@ -83076,66 +87608,66 @@ dDB dDB dDB dDB +dDB +dDB +aGa +dDB +dDB +dDB +dDB +aJq tYT -tYT -arP -adF -adB -aun -acl -ait -ajG -ayi -ayi -dDB -dDB -dDB +hjj +itv +wHL +lOM +bvt aJq -aJq -aJq -xZV -xZV -xZV -xYG -rVV -acn -iuu -iey -mwI -pqJ -tpd -kDS -wCp -frj -ayK -ayK -ayK -rQi -bIW -bVs -rQi -frq -rsP +pnl +vmL +xpf +lVW +cdW +smd +rLZ +lZp +gKs +pIB +wNi +bPU +yii +tnH +vcR +fxV +wJn +pGt +uJC +rbg +qYp +tzh +rao +rbg +uJC +qNN +eOP +qNN +fFu +oDa +umn +bPU +wlS +akU bNq -bNq -wMC -cLH -cmf -knv -gBh -dsH -fze -cmf -knv -fRB -knv -knv -gfc -geG +vlC +nHd +lyR +qDJ sjq sNz wZF wZF +wZF +wZF gzD sjq gBi @@ -83327,69 +87859,69 @@ dDB dDB dDB dDB -aan dDB dDB dDB dDB dDB -tYT -tYT -arP -adF -adB -adB -acl -adB -ajG -acF -akZ dDB dDB dDB -aJq -aJq -aJq -xZV -xZV -xYG -xYG -dcg -vkk -xQr -xmb -aJn -aNe -xQr -ePu -scc -xYG -rQi -bGT -cwR -rQi -cZM -bGP -bNq -bNq -bNq -bNq -lUG -gQs -gCS -cLe -hRz -gCS -gCS -fAe -knv -pCs -lUG -knK -knv -gcm -knv +blb +dDB +dDB +eNm +bTd +qlk +hRF +kGn +pFK +cXu +kYI +pWm +pWm +pnl +fuC +xpf +sRf +fPb +tQZ +jNL +fEr +pUK +vjK +rVA +vUh +oTY +kXf +hvo +kQr +bNg +kQr +pPH +cTu +pvP +nhe +nqi +aEy +uyB +wAM +eEX +kQr +etX +wXV +xHT +lGq +sqB +fJP +eDe +viw +aIk +eiU +slY ggw +lzn +kCT kCT kCT kCT @@ -83591,62 +88123,62 @@ dDB dDB dDB dDB +dDB +blb +dDB +mys +blb +dDB +dDB tYT -ayi -acF -btC -btC -btC -ayi -ayi -ayi -akZ -dDB -dDB -dDB -aJq -aJq -aJq -xZV -xZV -xYG -lDE -arA -aRY -coA -hzi -bEG -leh -lkU -vYg -oZS -iQv -bhR -boL -bwJ -cPM -hSx -dhw +pWm +pWm +dre +pWm +pWm +pRw +pnl +nSo +cPB +mPe +wBo +gKs +fpF +gKs +gKs +aOb +utf +mfV +mFD +mrW +hYC +wVh +hFK +ubh +hYC +fuB +soo +qFw +sbf +pfD +hYC +uUp +nIL +lNC +hYC +wyU +rkk +blZ +rxs +upf bNq -dvQ -dFn -cuZ -gCS -gSV -cLa -bNq -bNq -ecq -bNq -bNq -knv -knv -knv -knv +gBh +ybs knv knv cmf -knv +vmL +dDB dDB dDB dDB @@ -83848,62 +88380,62 @@ dDB dDB dDB dDB -tYT -tYT -aJq -aJq -aJq -aJq -aJq -aJq -aJq -akZ +dDB +blb +mys +blb dDB dDB dDB dDB -aJq -aJq -xZV -xZV -xYG -gLx -aOP -aSd -qoh -pvg -uZR -uYy -ejH -alx -vVE -xyj -mpr -cNa -cNa -iIr -rkm -diO -doQ -clJ -gSV -cvJ -bNq -ecq -bNq -knv -cSv -duF -duF -ybO vmL -blb -blb -blb -dDB -dDB -dDB -dDB +pWm +jUx +jUx +wzv +jUx +pnl +xuX +bOb +uzI +hpi +qTU +jNr +tsR +gKs +obd +exA +vAb +tSg +nYP +xae +qol +mTt +qol +xae +qwc +ikf +fLj +rUa +csB +xae +uXI +iaW +vZM +xae +wvT +jBW +okg +vKs +ffE +bNq +gBh +ybs +knv +gBh +gBh +aJq +tYT dDB dDB dDB @@ -84106,61 +88638,61 @@ dDB dDB dDB dDB -tYT -aJq -aJq -aJq -aJq -aJq -aJq -aJq -dDB -dDB -dDB -dDB -dDB -aJq -aJq -xZV -xZV -xYG -qEj -aOZ -ayK -ayK -hdT -gRc -ayK -ayK -bDP -ljk -naw -rQi -cTd -hdk -rQi -yjg -bWZ +tmL +blb +blb +blb +cLg +blb +blb +blb +tGK +pWm +pWm +pWm +aap +pnl +pnl +wqP +pnl +pnl +iXx +pnl +wqP +pnl +bBy +nsa +cgz +nsa +bBy +xae +xOR +oPg +aiL +xae +csB +opc +xRa +ozM +spa +xae +gPf +xef +xme +xae +vIF +bYY +nBM +bpv +vIF bNq cmf -dHC -knv -ecq -cGy -iUq -cLB -cSz -dcG -piT -dRm -enB -xae -xae -xae -xae -blb -dDB -dDB +liX +jqd +lxP +gBh +aJq +aJq dDB dDB dDB @@ -84361,15 +88893,9 @@ dDB dDB dDB dDB -tYT -tYT -tYT -aJq -aJq -aJq -aJq -aJq -aJq +dDB +dDB +oua dDB dDB dDB @@ -84377,47 +88903,53 @@ dDB dDB dDB dDB -aJq -aJq -xZV -ayK -arJ -bnc -ayK -kBq -aQy -aJu -vpm -yjE -aVq -yjE -yjE -yjE -yjE -yjE -yjE -fPv -dja -bNq -hln -dIm -dQY -ecq -dMj -hju -dEt -cSY -ddj -dvb -cwf -eop -tTR -fcD -fta +dDB +aWx +oFc +qcF +jUx +fbs +gKF +uPf +pWm +dzD +pAa +pWm +pRw +pnl +xNE +soC +mom +cWQ +pgU xae -blb -dDB -dDB +xae +xae +xae +xae +pYP +dyt +qtP +vEZ +gIr +xae +xae +xae +xae +xae +eWj +jMy +uvo +dJU +cla +qyb +bNq +olj +cmf +gBh +gBh +aJq +aJq dDB dDB dDB @@ -84617,63 +89149,63 @@ dDB dDB dDB dDB -tYT -tYT -tYT -tYT -tYT -aJq -aJq -tYT -tYT -tYT dDB dDB dDB +oua dDB dDB dDB +wNL dDB -aJq -aJq -xZV -ayK -ayK -ayK -ayK -xua -aAE -aKm -vtV -aQI -aVz -yjE -bKu -vxt -kLq -smo -yjE -uYG -djC +dDB +dDB +qin +qQF +lgr +fFO +wzv +pWm +pWm +yil +dbo +yil +kNn +yil +kNn +pnl +rlk +wby +juF +chf +lSF +nsa +lpT +uOL +iME +nsy +beg +adV +beg +jIa +beg +beg +dIZ +lRz +xQS +fKA +fKA +oUq +sav +gIM +amH +ccO bNq -hDn -dIe -dRE -ecF -wpE -hjT -ioQ -eQe -faw -dwJ -dSM -eoK -eGJ -fdF -ftO -xae -blb -blb +olj +gBh +gBh +gBh +gcs blb blb blb @@ -84874,15 +89406,10 @@ dDB dDB dDB dDB -tYT -aJq -aJq -tYT -tYT -tYT -tYT -tYT -tYT +dDB +dDB +dDB +oua dDB dDB dDB @@ -84891,48 +89418,53 @@ dDB dDB dDB dDB -aJq -aJq -aJq -aJq -aJq -aJq -ayK -avp -aBs -aKG -omJ -yjE -vSm -yjE -bUk -yfa -gJA -yfa -yjE -lSh -djE -ecq -vDA -dIm -dSd +aWx +tdY +qcF +wzv +yil +xnL +yil +pWm +pWm +pWm +mMF +mDb +pnl +cSP +kgW +uJU +hNU +mBq +bBy +yhS +gCp +uah +beg +glO +lda +ybC +uGB +vja +ssP +ioN +qPO +asK +dNM +lPw +wDF +qid +bkO +nHP +xoV bNq -wHa -hhR -ieu -eQi -fbq -dxP -oYJ -eoY -xae -xae -xae -xae +bJK +dez +gBh +aJq +aJq dDB dDB -blb -dDB dDB dDB dDB @@ -85131,63 +89663,63 @@ dDB dDB dDB dDB -aJq -aJq -aJq -aJq -tYT -tYT -tYT -tYT -tYT dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -aJq -aJq -aJq -aJq -aJq -aJq -avp -coJ -aKZ -yjE -aRv -aXL -bMq -bUF -vxt -cxr -bwY -yjE -niJ -dkd -dpO -dwL -dJh -dTm -bNq -wXM -vna -kUl -cTr -ddk -eYm -hYC -vmL -cMq -vmL -cMq -flQ +bre blb -dDB +blb +blb +cLg +blb +blb +blb +pWm +pWm +pWm +pWm +pWm +rjo +pWm +pWm +pWm +bvt +bvt +bXb +yil +dfz +ymj +wzB +xvb +pbT +nBd +kLv +nBd +ibB +ibB +beg +fKR +owd +dYw +oQs +wGo +nli +mcb +oUS +axt +iql +wmd +iSE +lJF +sTW +mTC +bNq +bNq +cmf +olj +knv +aJq +tYT dDB dDB dDB @@ -85388,69 +89920,69 @@ dDB dDB dDB dDB +dDB +dDB +dDB +oua +dDB +dDB +dDB +dDB +dDB +dDB +dDB +tYT aJq aJq -aJq -aJq +pWm +ako +mmT +vtJ +acg +pWm +bvt +bvt +vcm +oii +pnl +uGS +aIE +dOY +wZk +bWk +bBy +sdF +eAC +aHb +beg +xQt +xih +fLy +kNG +jzJ +jCT +xrv +fWf +iKK +uqA +vMo +vdB +kDj +thI +hnG +cmf +gBh +knv +aIk +knv aJq tYT -tYT -tYT dDB dDB dDB dDB dDB dDB -dDB -dDB -dDB -dDB -aJq -aJq -aJq -aJq -aJq -aJq -ouj -eMV -aOE -mQB -dSD -dSD -vxt -bWJ -vxt -vxt -vxt -yjE -eFv -dkm -dqj -dxG -dJn -dTr -bNq -ybO -ybO -kUl -cTD -ddN -dzQ -hYC -cLB -hYC -fdK -blb -blb -blb -blb -blb -dDB -dDB -dDB -dDB -dDB mEB gEc gIx @@ -85465,7 +89997,7 @@ jMb kzI kzI rST -qJl +iUN jlv sRR odX @@ -85646,64 +90178,64 @@ dDB dDB dDB dDB -aJq -aJq -aJq -aJq -aJq +dDB +dDB +oua +dDB +dDB +dDB +dDB +dDB +dDB +dDB tYT -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB aJq aJq +pWm +arN +wOz +viE +bOa +pWm +bvt +bvt +bvt +oii +pnl +opo +sID +dxr +dpk +xdl +nsa +niv +jRR +niv +beg +qXd +pft +kwr +ydV +shK +pzi +vpS +iqY +vnp +vIF +jrS +qAR +eIv +eKU +bNq +bNq +gBh +knv +liX +knv aJq aJq -aJq -aJq -vxt -vxt -vxt -vxt -wyt -aXR -vxt -cIy -cIy -fch -cIy -kFP -kGd -dkd -cdt -cmA -dJp -dVu -efe -pAx -tfC -cMB -eQz -deB -dAh -dUn -eoZ -dRm -fel -xae -xae -xae -xae -xae -blb +dDB +dDB dDB dDB dDB @@ -85903,11 +90435,9 @@ dDB dDB dDB dDB -aJq -aJq -aJq -aJq -aJq +dDB +dDB +oua dDB dDB dDB @@ -85915,51 +90445,53 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -aJq -aJq -aJq -aJq tYT aJq aJq -vnI -vnI -vxt -vxt -bHd -vxt -vxt -wyt -cyp -yfa -yjE -fAR -dlR +pWm +pWm +hDg +qMG +pWm +bvt +bvt +bvt +bvt +yil +pnl +wQa +tgD +vyM +hmB +slC +pnl +wqP +pnl +pnl +beg +prI +cVM +mvn +jwM +prI +beg bNq bNq bNq bNq bNq -ybO -vZJ -cMI -eSB -dfB -dAl -dUT -epq -oYJ -ffs -eGt -fHQ -gfE -gqw -xae +bNq +bNq +bNq +gBh +gBh +gBh +knv +aIk +knv +aJq +hwJ +blb blb blb blb @@ -86162,8 +90694,7 @@ dDB dDB dDB dDB -aJq -aJq +oua dDB dDB dDB @@ -86172,57 +90703,58 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -aJq -tYT -tYT tYT aJq -aJq -vnI -vxt -vxt -jmI -xya -yfa -yjE -yjE -yjE -yjE -yjE -mRl -cqJ -bNq -dye -dKC -dVM -gDL -lPf -rBW -cMV -hSM -dfC -fmj -aIr -iGh -dSM -ffO -eGJ -fLX -gfL -grW -xae +bvt +bvt +fiw +oIf +pWm +bvt +bvt +bvt +pWm +oii +pnl +bFr +aFU +mgz +vSh +bbp +pnl +oCE +oCE +lYH +fGU +bYl +onv +gcM +tAm +iQr +kfv +vgp +jhk +hrx +hrx +lLe +mid +knv +rQH +wdo +tkN +gBh +knv +ovt +knv +knv +knv +dDB +dDB +dDB blb dDB dDB dDB -dDB -dDB slY mEk tYI @@ -86419,6 +90951,7 @@ dDB dDB dDB dDB +cBX dDB dDB dDB @@ -86426,57 +90959,56 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -tYT tYT tYT aJq -aJq -vnI -vnI -vxt -aOK -kqa -dgv -yfa -yjE -bhV -dER -cKm -ybO -dbh -bzM -ybO -lPf -hYN -dWx -egk -lPf -iqH -eHS -eSF -dgr -fnp -ivx -fGE -hYC -vmL -xae -xae -xae -xae -xae +bvt +bvt +bvt +bvt +bvt +bvt +bvt +bvt +pWm +yil +pnl +jZl +iXn +lix +aaA +jZl +pnl +oCE +pWm +pWm +pWm +rQi +urg +rQi +sfF +rQi +bNq +bNq +bNq +knv +knv +hgV +wDM +uaZ +fTf +tnF +dAI +whM +loq +sXm +fBO +knv +blb dDB dDB dDB +blb dDB dDB dDB @@ -86676,65 +91208,65 @@ dDB dDB dDB dDB +eNn +blb +blb +blb +blb +blb +blb +blb +aJq +aJq +aJq +bvt +bvt +bvt +bvt +bvt +bvt +bvt +bvt +pWm +qjp +kNn +pnl +pnl +pnl +wqP +pnl +tOc +oCE +pWm +cua +rMf +rQi +eCJ +vdt +pOi +orb +gBh +cLa +lUG +cvJ +iHw +cvJ +cvJ +knv +rcQ +nQs +yfN +jJW +uSa +hpe +rHE +knv +blb dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -tYT tYT aJq -vnI -vnI -vnI -vnI -iyO -lmG -dhK -dgv -yjE -bjf -bpg -mcx -ybO -vfA -tly -jgZ -lPf -fLz -auB -gJe -eqM -ewU -cMV -eSF -dgr -dBb -dVF -ept -eHR -fhS -vmL -cMq -blb -blb -blb -dDB -dDB -dDB -dDB dDB dDB ueX @@ -86933,65 +91465,65 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -tYT +eNn +kAG +kQo +kQo +kQo +wJa +blb +vmL aJq -vnI -vnI -vnI -tTd -tTd -nAS -yfa -dhK -yjE -eBO -eeg -eeg -fUL -bMN -tly -fzc -lPf -lAF -yic -iTG -eqS -exJ -eHS -eSU -djf -dBb -dWw -eqL -hYC -fiF -xae -xae -xae -xae -xae +aJq +aJq +bvt +pWm +pWm +pWm +bvt +bvt +bvt +pnl +pnl +wqP +kNn +oCE +vxX +oCE +oCE +rZu +rZu +rZu +bgn +wtG +kSj +rQi +aIY +kBC +iyn +orb +gBh +cLa +mbG +vvs +knv +hwr +knv +knv +knv +knv +rub +meh +xqp +meh +dUw +knv blb dDB dDB -dDB +aJq +aJq +tYT dDB dDB dDB @@ -87119,7 +91651,7 @@ pSd tDn qdv rwP -plU +uZB tDn uug xwT @@ -87190,64 +91722,64 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB +eNn +uHq +blb +blb +blb +vrK +blb +vmL +aJq +ayK +urz +pSQ +pSQ +mfU +wiR +wiR +wiR +mLD +tlC +mfU +pnl +pUR +jUx +pnl +pnl +pnl +pnl +pnl +pnl +rQi +rQi +rQi +rQi +iCF +sHO +vOL +rQi +bNq +bNq +ecq +bNq +bNq +bNq +bNq +ukA +gqt +obW +qAr +bmN +rgS +krk +jMM +obW +blb dDB dDB aJq aJq -aJq -vnI -vnI -aCf -tTd -aOM -aRF -bIf -xya -yjE -cmY -eeg -eeg -fUL -bNg -tly -dsq -lPf -pFN -wKD -cAC -eqS -hoo -cNe -eTu -djj -dBi -dWI -eqX -oYJ -fjK -eGt -fMN -gic -gsf -xae -dDB -dDB -dDB dDB dDB dDB @@ -87447,64 +91979,64 @@ dDB dDB dDB dDB +eNn +ojK +sQa +lxO +sQa +osu +vuk +ayK +ayK +ayK +lhZ +kXj +xYG +wiR +ouj +pCQ +oUz +cMZ +pnl +tlC +pnl +xaK +pnl +pnl +neL +fHD +agR +dgV +sHH +rQi +rPV +nki +uOk +nmH +sHO +ojz +sLu +urE +ess +jCY +vfG +oSw +jyl +bNq +pkB +sCm +obW +grF +ecn +kmH +rLu +cPe +obW +blb dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -aJq -aJq -aJq -vnI -vnI -aCf -bUk -aPh -aSa -aYd -xya -yjE -dzT -bpm -dWp -ybO -lcU -tly -nSz -lPf -fNk -glB -ybO -ybO -hoL -cNq -hXt -dkq -fnZ -fAM -fHa -dSM -fjR -eGJ -fNr -gig -gtG -xae -dDB -dDB -dDB +tYT +blb dDB dDB dDB @@ -87704,65 +92236,65 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -aJq -aJq -vnI -avD -cqp -tTd -bxx -bCl -aZi -dhK -yjE -cnL -bpG -eiK -ybO -bNJ -xif -eVb -lPf -sKX -gNh -ybO -vkw -hpc -cNw -hVO -dkC -fpb -fAX -fHh -cLB -fjS -xae -xae -xae -xae -xae +eNn +uHq +blb +blb +blb +luC +lOC +jkV +cYt +gyt +gQK +tjH +xYG +dEA +kWK +bhb +hEt +qMu +ouj +tXS +uus +wNA +ceA +rDV +ugF +eTj +gtU +uJH +tHa +noU +bxu +xta +cbj +bKl +cqM +dgm +wIu +oHO +sDo +fhX +lsd +jJu +kya +bNq +muy +hAN +tbr +grF +sUV +vTE +lon +kNC +obW blb dDB dDB dDB +blb +dDB dDB dDB dDB @@ -87961,60 +92493,60 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -aJq -aJq -vnI -vnI -aCf -cqp -cqp -wyt -yfa -xya -yjE -yjE -yjE -yjE -ybO -bOe -sSm -ybO -ybO -ybO -ybO -ybO -wWO -hqB -cNW -hWY -dkF -fnp -dXH -erk -cwf -fkt -vmL -flQ -cMq -blb +eNn +sQt +sQa +sQa +sQa +uMV +qmo +ayK +ayK +ayK +kpq +qsa +uPN +vIp +iAS +vEQ +jph +kTu +bnq +tRj +pgr +cUa +svY +xmZ +eRY +dZG +xfB +qKx +xed +rbp +vrh +eat +oYv +jJg +bsG +wqW +jad +hUh +hUh +uXS +nTK +uGy +mMH +qZE +lER +hRO +knv +rKZ +mGn +lvK +jiC +vdw +knv +knv blb blb blb @@ -88218,62 +92750,62 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -aan -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -aJq -aJq -vnI -vnI -vnI -aLT -vxt -vxt -vxt -bNG -vxt -jDw -bqs -yjE -bzT -bNg -cnM -eYM -nOI -xNU -gpS -cBc -wRM -dGO -eIk -eTL -eTL -fnp -dXK -tfl -hYC -fjS -xae -xae -xae -xae -xae +eNn +uHq blb +blb +blb +lUu +blb +aJq +ayK +aKb +uUG +aEq +xYG +ouj +ouj +ouj +iyl +fZL +ouj +gxK +aWG +trA +wEc +rDV +tmk +aHH +gom +gzs +ilz +noU +hFA +gkW +rmM +btV +lMl +ayR +erJ +vDg +euP +all +eWf +eIx +kWg +bNq +wxG +uIX +obW +dph +nEz +cvJ +vqw +nEz +qEP +dDB +dDB +dDB dDB dDB dDB @@ -88475,61 +93007,61 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB +eNn +rMs +qrc +uFy +uFy +kVK +blb aJq -aJq -aJq -vnI -vnI -vxt -aYe -gJA -cSX -bda -dgD -dgD -dgD -xzJ -sot -ddd -lWv -rPo -rPo -ftF -kka -kmR -orV -trd -eIk -cUd -dkW -fnp -dXT -wsL -uYx -vpl -tJO -fNA -gij -gtT -xae +ayK +xYG +pTt +xYG +xYG +ccL +unG +ouj +rmD +eZt +ouj +xYG +ufR +xYG +xYG +rDV +cGb +qYg +iAk +sql +qVJ +rQi +uGH +tZP +nra +hGp +sHO +drI +cRq +rbl +jcx +uKO +vfG +fnm +gUo +bNq +hOX +fEU +obW +dph +bEW +qbE +gNb +sIO +qEP +dDB +dDB dDB dDB dDB @@ -88732,6 +93264,59 @@ dDB dDB dDB dDB +eNn +blb +wkU +blb +blb +blb +blb +vmL +aSV +rRe +fuT +lgc +sbG +qDv +eVm +lPW +htQ +tMm +fWe +hxG +iXg +tSV +xYG +rDV +rDV +rDV +rDV +rDV +rDV +rQi +orb +orb +orb +rro +sHO +sPk +orb +orb +orb +orb +orb +bNq +ecq +bNq +fYr +jfA +obW +dph +aeu +hCq +wFV +bEW +qEP dDB dDB dDB @@ -88739,59 +93324,6 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -aJq -aJq -aJq -aJq -vnI -vxt -vxt -vxt -vxt -azq -vxt -bKu -gJA -yfa -yjE -faX -qRQ -bXV -bNg -col -fNH -grM -cCw -peI -kyT -eIk -cUF -dll -fpk -fAZ -fHn -cwf -flg -ftZ -fOn -giy -gtW -xae -dDB -dDB -dDB -dDB -dDB mEB gEI mFA @@ -88989,62 +93521,62 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -aJq -aJq -aJq -aJq -vnI -bKu -wyt -gJA -aSP -cGG -vxt -yjE -sZu -yjE -wBo -wBo -xql -wBo -nMU -wBo -wBo -wBo -ybO -gUc -wII -eJk -hSA -qUL -pZI -ivE -iGu -hYC -flQ -xae -xae -xae -xae -xae +fJX blb +tCc +blb +bSo +bSo +blb +blb +ayK +iJO +bdd +prV +hdT +ktL +eLZ +uCL +pss +sed +drF +fZV +bcZ +kLk +ejN +xZb +rCU +lfQ +eld +ejN +ejL +feo +oVt +mUI +rFb +rSW +wPM +qYE +xBD +waH +cdz +ifN +xGH +qmv +cvJ +knv +knv +knv +knv +hLW +nEz +bEW +pZQ +nEz +qEP +dDB +dDB +dDB dDB dDB dDB @@ -89119,7 +93651,7 @@ dYc nlf yjd xFe -iOz +woP nhu jbV dOd @@ -89246,67 +93778,67 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -aJq -aJq -aJq -avL -yfa -sZu -yfa -ykQ -aZM -hui -hui -cok -yjE -bxc -bAi -bOs -qKZ -cdB -icS -fPt -wBo -gJN -oyx -gwf -los -ybO -cwf -cwf -dZd -esw -ybO -vmL -vmL -cMq -flQ -cMq +eNn +blb +wkU +blb +uqe +uLW +blb +blb +aSV +lns +dxu +isv +sbG +njH +uJd +xQr +xQr +xQr +xQr +xQr +bYe +aPB +qDA +bIi +oet +cYU +bIi +qDA +bLu +hkG +hkG +way +vuq +faQ +uaT +nGP +nPF +wQi +rKR +rHe +ecf +bNq +xxt +ecs +knv +wdY +knv +emB +knv +knv +knv +knv +knv +knv +blb +blb +blb +blb +blb +blb blb -dDB -dDB -dDB -dDB -dDB -dDB ueX mGu gKK @@ -89341,7 +93873,7 @@ oTH mhk xHB pOK -sDD +wvo iEX yfC aws @@ -89430,7 +93962,7 @@ ohR eoz eoz tTW -wvg +nha tMS xIj vfN @@ -89499,11 +94031,63 @@ dDB dDB dDB dDB -aan dDB dDB dDB dDB +eNn +blb +wkU +bSv +sQm +sQm +wNU +aci +ayK +ayK +ayK +ayK +ayK +aUR +qdJ +xQr +snm +izT +emC +xQr +roe +xri +xYG +xYG +vdS +hox +orb +wfn +eDo +ecY +ecY +ecY +pUs +wfn +gKL +lwW +kBZ +elv +lwW +rQi +hgv +kGY +xxt +xxt +knv +xxt +aqo +cvJ +xrA +cvJ +cvJ +uRY +knv dDB dDB dDB @@ -89512,58 +94096,6 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -aJq -aJq -aJq -tTd -aCZ -vxt -vxt -cBn -vxt -sZu -bKu -cpt -yjE -czy -eyi -dOq -dOq -jcF -yfe -pgO -cwC -cDa -sId -vdp -npr -jAB -erW -dBM -eag -esC -eKU -ecQ -cMq -xae -xae -xae -xae -dDB -dDB -dDB -dDB -dDB -dDB slY atx ueX @@ -89596,7 +94128,7 @@ rkR mhk mhk mhk -sbt +vgJ uAV tDT fDp @@ -89760,62 +94292,62 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -aJq -aJq -aJq -vxt -vxt -sZu -aPm -cDh -cXU -sZu -sZu -dAS -yjE -mfK -iHy -eoG -dmw -hDX -dyG -dLb -wBo -uXo -ddh -wsZ -cIE -ebj -dLy -dDN -eaC -esE -eLJ -fnr -fuo -eGJ -giO -gux -xae +eNn blb +wkU +osa +vrT +vrT +blb +osa +blb +vmL +hdT +bsJ +iGc +lfI +xYm +xQr +gzL +aGc +gzL +xQr +ezG +pGi +fEi +xYG +xYG +xYG +xYG +tNV +hss +lYF +uBj +nRA +wnR +dLj +gKL +jOi +rNI +cyG +dAF +fpO +fpO +bNq +bNq +cvJ +cvJ +xxt +rHK +xxt +xxt +knv +xxt +xxt +knv +knv +dDB +dDB dDB dDB dDB @@ -89853,7 +94385,7 @@ rlz rHD qVR wCR -wkl +rHL tDP qbC lsJ @@ -90015,63 +94547,63 @@ dDB dDB dDB dDB +aan dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -aJq -aJq -vnI -vnI -vxt -aPn -cFt -bIG -djU -vxt -tWj -cAh -cLn +eNn +blb +jia +gBe +sQm +sQm +aci +bWl +wNU +wNU +gfA +lFT +eUR +hTC +wWb +qjq +xAW +npL +czf +hwG +uCE +jhJ +tTK +aZu +fBZ +abR +xYG +wfn +lFH +ugA +tIN +hEl +svK +wfn +gKL +upG +daC +jBo +oEt +gpI +lhq +cBw +bNq +bNq +bNq +bNq +knv +eeY +knv +knv +xxt +cvJ +wMC +knv blb -iYJ -fPb -dUr -dzl -fQN -wBo -ehB -kfK -oxb -qOG -rEt -wik -qbB -fBe -fIg -eLL -qOi -ffs -eGt -gjT -guT -xae blb blb blb @@ -90274,62 +94806,62 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -aJq -aJq -vnI -vnI -vxt -cnS -cFI -bat -bdJ -dvq -wOW -sZu -eaA +eNn +blb +luC +amV +vrT +lBp +sYg blb blb -fPb -cdW -fPb -fRd -nMU -wBo -hYC -rZh -toL -ecQ -wib -pIn -iwM -iJx -eNb -eKU -flQ -xae -xae -xae -xae blb +hdT +qJN +oaB +oZQ +nbj +nVe +son +ieM +miN +pkd +egR +jhJ +kJs +lyX +rjE +pFS +keY +wfn +nuu +thb +oxc +rwJ +wnR +xXl +gKL +gdA +xuv +eYD +bed +fvs +hpj +rYL +gpI +jlL +iwJ +bNq +neg +wZr +jWe +knv +xxt +knv +knv +knv +dDB +dDB dDB dDB dDB @@ -90531,61 +95063,61 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -aJq -aJq -aJq -aJq -aJq -vxt -sZu -cIX -baW -vxt -vxt -yeE -vxt -eaA -blb -blb -wCQ -hIR -ftb -cqR -gtZ -gKs -gUl -sfb -nBP -ecQ -dnj -dFs -eaE -euj -eNG -ecQ -cMq -cMq +eNn blb +luC +amV +vrT +uqe +uLW +bSv +wNU +wNU +gfA +tNH +lae +xrm +pJk +tVN +uAT +aLu +xOJ +tiU +egR +wxp +ycW +snX +aSc +fqQ +odE +wfn +aWA +lVv +nHq +exQ +fib +cca +gKL +mZb +pmg +kxb +rsr +rFC +qEm +waX +fdE +mfn +vKn +bNq +mFL +veo +lIt +knv +xxt +dsh +knv +dDB dDB -blb dDB dDB dDB @@ -90788,61 +95320,61 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -aJq -aJq -aJq -aJq -aJq -aJq -aJq -vxt -aTd -ygP -bem -sWm -rRp -cAh -dXE -eoU -rMn -xpf -xpf -xpf -crm -nSo -wBo -osE -pnM -eJZ -eKU -dnq -dFH -ebc -euQ -eOo -ecQ -ecQ -eKU -flQ -dDB +fJX blb +wHH +nIK +sQm +sQm +qZm +osa +blb +onb +xnA +oSF +iPg +dbN +fzI +vFW +qbR +rhg +ilN +kBD +dvO +miR +nhE +gWJ +jqh +vJe +xYG +wfn +mpE +nCC +rDc +qQi +sVu +wfn +gKL +nmX +cyy +paX +rdH +gpI +ceP +wld +gpI +qCT +rWH +bNq +fRv +laF +qUE +knv +xxt +eEL +knv +dDB +dDB dDB dDB dDB @@ -91045,61 +95577,61 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -aan -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -aJq -aJq -aJq -aJq -aJq -aJq -aJq -vxt -sZu -vxt -sZu -cGG -sZu -vxt -cLz -cVV -bOL -fAN +eNn +blb +ppr +osa +vrT +vrT +blb +osa +blb +blb +hdT +ilB +koV +sjZ +dkR +tSN +lrD +kGm +oaJ +caB +tyu +cjP +oWE +tMJ +rAH +aZf +xYG +nXC +nmi +cED +nQE +rLj +gNt +lkQ +gKL +fMA +gFF +xCc +wnw +fpO +cPS +etl +fpO +krW +twL +bNq +knv +knv +knv +knv +cvJ +mid +knv +knv blb -fuC -fSL -guI -wBo -ybO -cBz -eKd -ecQ -dnt -dGt -ebx -euX -eOp -foi -fuR -foi -cMq -hem -hem blb blb blb @@ -91302,60 +95834,60 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -aJq -aJq -aJq -aJq -aJq -aJq -aJq -vnI -tpH -tTd -pJg -vxt -fJO -awi -fZq -yfa +eNn +eoU +aNc +gBe +hHV +sQm +wNU +qZm yjE yjE yjE yjE -yjE -vxt -jpJ -eUi -bcc -eUi -feq -dIt -ecQ -evg -ecQ -eKU -ecQ -ecQ -hem -maf +ayK +pbj +cKv +xQr +eqB +nGt +eqB +xQr +gDe +eIX +xYG +xYG +xYG +xYG +xYG +wfn +wfn +osT +qxF +wap +wfn +gKL +nlZ +aiK +snj +aiK +aiK +nlZ +bgq +weA +nlZ +lYj +lYj +lYj +uKh +lLA +lpJ +knv +bFR +knv +knv +qtG qtG qtG qtG @@ -91371,7 +95903,7 @@ iCw jDP wyg hvy -ayn +iDO xRV xRV xRV @@ -91559,64 +96091,64 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -aJq -aJq -aJq -aJq -aJq -aJq -aJq -vnI -pSo -aSP -bfo -bjx -gJA -gJA -bAK -bQh -vxt -ctI -dBa -ykQ -dSD -elY -xlF -cpW -cOQ -cXe -dnW -wbi -iwe -mDU -wJt -for -fvC -xvl -gkN -guV -gwD -wbi -wbi -wbi +eNn +luC +blb +amV +lBp +sYg +eNm +bTd +gQI +wEU +nEL +fBy +yjE +pqo +auQ +xQr +pdh +mcT +rjr +xQr +txS +lFE +gWl +ezQ +hkT +uNk +rUs +gBA +sSB +sHM +iqB +fdy +hnS +sKD +hxY +vpZ +oRj +cjz +rMR +hjk +mGr +hjQ +uBM +piL +pEo +phC +lyt +aAQ +lyt +cPR +lyt +bpe +kAp +lyt +lyt +lyt +lyt +lyt wbi wbi hrY @@ -91816,64 +96348,64 @@ dDB dDB dDB dDB +eNn +jxh +voO +ccx +blb +mys dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -aJq -aJq -aJq -aJq -aJq -aJq -aJq -vnI -jDw -bft -vxt -vxt -vxt -vxt -vxt -vxt -srm -vxt -wOW -vxt -vxt -jMk -hvh -hHy +blb +xQG +xBH +yfa +tsl +yjE +taK +chr +uvB +mRY +yjN +jGk +dOU +vFf +ioX +xdJ +iCr +pmA +pmA +stm +xdJ +sEj +qjx +iqB +phY +jmZ +oJl +bDh +fPY +xkX +hYS +dsb +dsb +nje +dSO +lMr +gSr +gSr +gSr +gSr hNY -hTR +pBT hNY -xmT -qiE -nyt +pfu hNY +muM +fpg +ekV +fLE hNY -hNY -gli -gvp -ggW -gwV -gxR -hTR +pbl gwV hNY gBk @@ -91930,7 +96462,7 @@ cmT vJV qBN iKm -xQK +eUZ vEP hji pCF @@ -92073,64 +96605,64 @@ dDB dDB dDB dDB +xjc +blb +dDB +blb +mys dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -aJq -aJq -aJq -aJq -vnI -vnI -bfF -vNK -vNK -tzF -bAL -bQU vxt vxt +nQk vxt -ykQ -smo -vxt -gUS -sne -hAc -cXP -msg -gAi -msg -fIE -fNh -gAi -gBD -msg -glz -gvX -ghd -msg -msg -msg +yjE +ayK +xOO +cEH +lvG +lvG +lvG +nGm +mTi +ayK +yjE +yjE +pqH +gXn +wfn +jKU +jKU +jRU +iqB +ahW +wfn +gKL +ejM +ggX +pmE +hDh +ctb +pWH +fEe +lCw +tjd +fQL +gnS +eiN +eVY +eVY +eVY +dAz +eVY +ccG +oyU +eVY +eVY +eVY +eVY +eVY msg msg hsc @@ -92331,59 +96863,59 @@ dDB dDB dDB dDB +mxX +bTd +ihA dDB dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -aJq -aJq -aJq -vnI -vnI -vnI -sZu -bUk vxt yfa -bRo -scg -kUI -ykQ -wOW -fXi -vxt -wMm -wbj -eLO -wbj -wbj -wfn -fCg -fIK -fOj -foJ -fqf -fqf -fqf -fpO +qGk +oEb +yjE +hlM +irZ +sDh +rrG +rrG +gDq +qqJ +yjE +rco +yjE +dGV +fDO +jKU +vTg +jKU +nQB +pVM +xfz +eGw +gKL +iJS +hSP +cza +axX +cow +cow +tXL +eiD +cow +poL +rjv +hem +hFp +bgE +lpJ +hKX +hKX +hem +hem +qtG qtG qtG qtG @@ -92589,59 +97121,59 @@ dDB dDB dDB dDB +blb dDB dDB dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -aJq -aJq -vnI -vnI -vnI -vnI -tTd vxt -kLq -bRA -yiF +uUA +iok +dsE yjE -fAN +fXo +yjE +yjE +evm yjE yjE yjE -kzo -rSw -oFm -sIg -kxD -wfn -ecY -evj -ecY -fpO -fvJ -lVZ -gmp -fpO -maf +yjE +yjE +yjE +eIT +whl +flE +jnB +eqS +gsY +xsX +obe +iwz +aNJ +hvT +kfW +qeV +jqD +cow +yeY +dQi +aeX +cow +vxt +vxt +vxt +vxt +vxt +vxt +vnI +vnI +vnI +hem +hem +blb blb blb blb @@ -92658,8 +97190,8 @@ xoS hwo hDC tsF -ibq -nZg +ijN +uLB yat wCt lEa @@ -92846,24 +97378,7 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB +aGa dDB dDB dDB @@ -92871,33 +97386,50 @@ dDB dDB dDB vxt -vxt -sZu -vxt -bqZ -vxt -fBf -bSj -xVx yfa -gKL -cbu -aMm -cEc -wTv -qLh -cQb -wqm -sTH -wMm -izq -evs -bGc -fqf -fvT -ahM -gnf -fpO +uUA +uUA +yfa +afB +rWQ +idH +evM +mWs +xCR +lHh +hVq +hVq +yjE +oIF +tit +kIp +tYC +izE +mls +dSh +fDW +kmD +pLI +bja +jyC +fgG +lNJ +cow +lBm +iIW +kSc +jAz +vxt +dhC +bqu +vkD +dsp +vnI +vnI +vnI +vnI +aJq +aJq dDB dDB dDB @@ -92916,7 +97448,7 @@ cmd qly uVT uVT -hBv +ueH xQw uVT jsN @@ -93105,57 +97637,57 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB aan dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -cLg -blb -blb -blb -sZu vxt -vxt -sZu -xFZ -eLE -wyt +vRH +vRH +hJs +yfa +bwY +yjE +cYL +aEP +auc +yjE +vnI +vnI +hVq +yjE +xcS +bAU +gwl +pPm +jKU +qbP +psL +nck +tau gKL -ugb -vkP -vkP -wTv -xkD -xeD -hXQ -sTH -mKy -iAn -rTg -ePw -fqf -fwO -iUH -gnw -foJ -dDB +ums +rup +fXB +ums +ums +yjE +wyH +vxt +vxt +vxt +kEx +wAf +odh +ijV +vnI +vnI +vnI +vnI +aJq +aJq +tYT dDB dDB dDB @@ -93172,7 +97704,7 @@ rto hwp qlP uVT -jxV +sQI iri bah uVT @@ -93367,52 +97899,52 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -ddG -ntH -ddy -tnx -bYE -pMr +vxt +xQG +vxt +xQG +vxt +xQG +yjE +yjE +yjE +yjE +yjE +vnI +vnI +hVq +yjE +uCH +iJJ +pOB +lPf +lPf gKL -dLf -cwG -hJo -mSq -gCJ -hIq -cYm -fgL -fsf -fDs -evE -ePA -frs -fxt -vRU -gof -fpO -dDB +gKL +gKL +gKL +gKL +hbG +gtu +eYF +cUH +fVA +yjE +pek +uUA +vTj +vxt +ncQ +qoA +xVd +vnI +vnI +vnI +vnI +vnI +aJq +aJq +aJq dDB dDB dDB @@ -93427,7 +97959,7 @@ iDk sUy jaK hwx -hDZ +xiN uVT rEY irQ @@ -93624,52 +98156,52 @@ dDB dDB dDB dDB +vxt dDB dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -wNL -dDB -dDB -dDB -qin -bst -hyD -kpz -pJw -sRP +vxt +aJq +aJq +aJq +vnI +vnI +vnI +hVq yjE yjE -fAN yjE -gKL -gUT -jUm -xzB -eXa -fhj -fsz -fDw -bNu -eQJ -fpO -fxw -fSr -gph -fpO -dDB +dnU +yjE +dKl +soV +bqs +vxt +vnI +vxt +kqr +quO +bnV +yjQ +gPb +yjE +tZI +nSd +nSd +drO +bUF +tIB +vnI +vnI +vnI +vnI +oVF +vnI +aJq +aJq +aJq dDB dDB dDB @@ -93888,45 +98420,45 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -ddG -bxq -ddy -bSn -uEV -uEV -ejt -lCH -mZw -gLA -gVV -inH -wyP -cYs -fik -fsD -fDC -ewy -eQO -fpO -fyr -fSv -gpI -fpO -dDB +tYT +aJq +aJq +aJq +aJq +vnI +hVq +hVq +ayO +nPM +jKa +vxt +xBV +yfa +bBX +vxt +vnI +vxt +vxt +yjE +yjE +yjE +yjE +yjE +vxt +fBf +dhK +vxt +rLt +cgt +vnI +vnI +vnI +vnI +vnI +vnI +aJq +aJq +aJq dDB dDB dDB @@ -94148,41 +98680,41 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -cLg -blb -blb -blb +aJq +aJq +vnI +vnI +vnI +vxt +tnx +sHk vxt vxt +eQY vxt -sZu vxt -sZu +hTL +vnI +vnI +vnI +kkK +qli +cyU vxt -fBf -dLZ -sZu -gLK -wjn -uBg -xQC -cYC -bsF -fsV -fDF -exi -eSh -fpO -fyQ -fSW -qHT -fpO +iOx +iOx +mCL +vxt +pDK +vxt +vxt +vnI +vnI +vnI +vnI +vnI +aJq +gcs blb blb blb @@ -94406,40 +98938,40 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -blb -cMq -bBa -ddT -jZR -gJA -fBz -eLE +aJq +aJq +aJq +aJq +vnI +rse +fBf vxt -jco -wJU -aWC -eNV -wMm -fiA -wfn -pgh -eyv -eSo -fpO -fyT -wiw -fpO -fpO +xFZ +ldb +pQj +bRf +ldb +vEC +ydL +ydL +hFb +iOx +dhK +dhK +dhK +vxt +ffp +vxt +dWS +vxt +aJq +aJq +aJq +aJq +aJq +aJq +aJq +blb dDB dDB dDB @@ -94665,37 +99197,37 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -blb -blb -blb +tYT +aJq +vnI +bZQ +pQj +ldb +iGA +vnI +vnI +vnI vxt vxt vxt vxt -hvJ +swT vxt vxt -wfn -xQi -wMm -xQi -wfn -xQi -wfn -xQi -wMm -xQi -fpO -foJ -fpO -foJ +vxt +ddy +vxt +ddy +vxt +ddy +vxt +vmL +aJq +aJq +gcs +aJq +tYT +dDB blb dDB dDB @@ -94706,7 +99238,7 @@ pIS uAK anb uFm -aSY +owZ xsh ahE plz @@ -94923,17 +99455,17 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -blb -dDB -dDB +aJq +vnI +ddy +vxt +ddy +vxt +vnI +aJq +aJq +aJq +aJq vxt ddy yhB @@ -94946,8 +99478,8 @@ dDB dDB dDB blb -dDB -dDB +tYT +tYT dDB blb dDB @@ -95185,10 +99717,10 @@ dDB dDB dDB dDB -dDB -dDB -dDB -dDB +vxt +vxt +aJq +tYT dDB dDB dDB @@ -95731,8 +100263,8 @@ dDB dDB dDB pIS -lXe -fqV +gBT +mxa nNe biB xsh @@ -96304,7 +100836,7 @@ blb uXY dvo hkW -oCi +rLN uXY uXY dDB @@ -97506,9 +102038,9 @@ fpY fpY oRm uTA -fEb -bfy -sHg +apZ +vzK +oCF uTA fpY wct @@ -97536,7 +102068,7 @@ kHi gLM iqF hdg -vBU +aEc xGJ jnS qtd @@ -97769,7 +102301,7 @@ cwX hJp wct wct -eMI +iWV yfP wct isj @@ -98065,7 +102597,7 @@ geE tWL oGJ wQB -lbM +ycx xeO lMH cnu @@ -98277,8 +102809,8 @@ uTA dfo dor fNF -dCj -iyq +eeg +aGf cze wct wct @@ -98531,7 +103063,7 @@ aJq yjV fpY uTA -ruz +jBA xTV dua gnA @@ -99562,9 +104094,9 @@ fpY fpY fpY uTA -fEb -mbN -fEb +dRE +nPA +dRE uTA fpY wct @@ -99572,7 +104104,7 @@ wct hJp wct gOm -sXe +kiQ eFe eYk xvT @@ -99922,7 +104454,7 @@ dDB xSO wHN xrC -syE +pEt sSQ vYj sSQ @@ -100179,7 +104711,7 @@ dDB xSO wuj xrC -tvg +icY sSQ vYj sSQ @@ -100429,14 +104961,14 @@ xIu jHi tAH rTJ -aPO +aBb xQa blb blb tFQ mXT mUg -gcf +kGq sSQ bbh sSQ @@ -100898,7 +105430,7 @@ tgl tgl wRD tSn -xHv +uZw jVM ohF rhD @@ -100950,7 +105482,7 @@ pqa tFQ vLc xrC -ceK +xoJ sSQ miA sSQ @@ -103488,7 +108020,7 @@ wJx npZ xpU xMr -uQK +lqg qir hoQ wpk @@ -103516,9 +108048,9 @@ wfr rbs wfr wfr -hWm +vLQ uSj -jBx +baP haq wYA dCe @@ -104239,7 +108771,7 @@ wAn pwq mvA mhY -nwg +ykC qUt qUt qUt @@ -104992,7 +109524,7 @@ iFP iGl hqW wSZ -fJu +xoh hXP wLl iEZ @@ -105775,7 +110307,7 @@ ghW boX kCP kBH -saD +wRP sRL sRL sRL @@ -107334,7 +111866,7 @@ kzX rdW sGT kVl -rqc +tRM vuo wWX blf @@ -110706,7 +115238,7 @@ yeQ lEu bLT tEj -ctJ +bqD rcl aAL mwF @@ -112740,7 +117272,7 @@ ygu xdc ugC xSZ -qld +eyd ssz ssz ssz @@ -112756,7 +117288,7 @@ eBn roz ssz iWZ -tsL +oMI okB nhC oUB @@ -112768,7 +117300,7 @@ aAL wxZ uXV tEj -ctJ +bqD mOI rIY hLS @@ -114293,7 +118825,7 @@ jEi jHU lUo lUo -hHf +ovM aXI awE kdO @@ -115567,7 +120099,7 @@ wPK xfc vRh xUV -viC +rpk uMU eAn bZN @@ -118440,7 +122972,7 @@ grm svs fnw exR -lur +bIg svs dDB dDB @@ -118651,7 +123183,7 @@ oDS wMO gAA jtI -uPi +tRw xFA rFH xFA @@ -119697,7 +124229,7 @@ uzK rOs nVF qsg -bDU +kcW wos udv tSq @@ -124608,7 +129140,7 @@ mCF xIP rGO mqO -iRi +vKe gXS njL xIP @@ -125085,7 +129617,7 @@ blb blb yeZ pUC -mSs +iNC kQt hyE hyE diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index d5b0896a3b7..d97755766cb 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -1144,6 +1144,14 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) +"anU" = ( +/obj/structure/sign/warning/secure_area/directional/south, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 10 + }, +/obj/item/kirbyplants/organic/plant10, +/turf/open/floor/iron/white, +/area/station/science/research) "anV" = ( /obj/effect/landmark/start/hangover/closet, /obj/structure/closet/firecloset, @@ -1158,13 +1166,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay) -"anY" = ( -/obj/structure/reagent_dispensers/water_cooler, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/office) "anZ" = ( /obj/structure/sign/nanotrasen{ pixel_y = 32 @@ -1414,6 +1415,20 @@ /obj/item/pillow/random, /turf/open/floor/wood, /area/station/commons/dorms) +"aqU" = ( +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/bot/left, +/obj/structure/sign/nanotrasen{ + pixel_x = -32 + }, +/obj/machinery/modular_computer/preset/cargochat/science{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/science/research) "aqW" = ( /obj/structure/table/reinforced, /obj/machinery/newscaster/directional/north, @@ -2364,6 +2379,18 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/chapel/funeral) +"aCA" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/structure/table, +/obj/machinery/fax{ + fax_name = "Research Division"; + name = "Research Division Fax Machine"; + pixel_x = 1 + }, +/turf/open/floor/iron, +/area/station/science/research) "aCJ" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -2816,23 +2843,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/primary/central/fore) -"aId" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/status_display/evac/directional/south, -/obj/effect/turf_decal/bot, -/obj/structure/sign/directions/arrival{ - dir = 1; - pixel_x = 32; - pixel_y = -4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "aIm" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/brown/half/contrasted{ @@ -2904,6 +2914,14 @@ /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"aJj" = ( +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/machinery/recharge_station, +/turf/open/floor/iron, +/area/station/science/research) "aJu" = ( /obj/structure/cable, /obj/machinery/power/smes/engineering, @@ -3894,14 +3912,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/chapel/funeral) -"aWB" = ( -/obj/structure/table/reinforced, -/obj/item/storage/medkit/regular, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "aWF" = ( /obj/structure/cable, /obj/effect/turf_decal/delivery, @@ -4080,14 +4090,6 @@ /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating, /area/station/engineering/main) -"aYZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/table/wood, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/computer/security/wooden_tv, -/turf/open/floor/iron/grimy, -/area/station/command/bridge) "aZj" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -4899,16 +4901,6 @@ /obj/effect/turf_decal/stripes/end, /turf/open/floor/iron/white, /area/station/science/lobby) -"biZ" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) "bjk" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch" @@ -6509,6 +6501,9 @@ }, /turf/open/floor/plating, /area/station/security/prison) +"bDx" = ( +/turf/open/floor/iron, +/area/station/security/office) "bDy" = ( /obj/machinery/camera/directional/north{ c_tag = "Chapel - Confessional"; @@ -6867,17 +6862,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, /turf/open/floor/iron, /area/station/engineering/atmos/project) -"bGM" = ( -/obj/effect/turf_decal/loading_area{ - dir = 8 - }, -/obj/structure/cable, -/obj/effect/landmark/start/medical_doctor, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/medical/storage) "bGN" = ( /obj/structure/closet/secure_closet/personal, /obj/effect/landmark/start/hangover/closet, @@ -7082,6 +7066,13 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron, /area/station/engineering/atmos/project) +"bJi" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/service) "bJs" = ( /obj/structure/table/reinforced, /obj/item/stack/sheet/iron{ @@ -7699,6 +7690,22 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/port) +"bRw" = ( +/obj/structure/sign/warning/deathsposal/directional/east, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/siding/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 8 + }, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron, +/area/station/science/xenobiology) "bRy" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/effect/turf_decal/stripes/corner{ @@ -8051,14 +8058,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/engine_equipment, /turf/open/floor/iron, /area/station/engineering/storage) -"bUz" = ( -/obj/structure/sign/warning/secure_area/directional/south, -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 6 - }, -/turf/open/floor/iron/white, -/area/station/science/research) "bUE" = ( /obj/structure/cable, /obj/structure/table/reinforced, @@ -8841,6 +8840,16 @@ "cfu" = ( /turf/open/floor/circuit/green, /area/station/ai_monitored/turret_protected/ai_upload) +"cfx" = ( +/obj/structure/plaque/static_plaque/golden{ + pixel_y = -32 + }, +/obj/structure/reagent_dispensers/water_cooler, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/security/office) "cfy" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -10257,6 +10266,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/engineering/storage/tech) +"cxu" = ( +/obj/structure/table/reinforced, +/obj/item/storage/medkit/regular, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "cxM" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/line, @@ -10432,18 +10449,6 @@ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) -"czI" = ( -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/sign/warning/deathsposal/directional/east, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 1 - }, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron, -/area/station/science/xenobiology) "czL" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -10581,6 +10586,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/chapel/storage) +"cBB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/service) "cBC" = ( /obj/structure/table/reinforced, /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ @@ -11121,22 +11132,6 @@ /obj/structure/chair/stool/directional/north, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"cHx" = ( -/obj/structure/sign/warning/deathsposal/directional/east, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/siding/purple{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 8 - }, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron, -/area/station/science/xenobiology) "cHB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -11269,6 +11264,16 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/exit/departure_lounge) +"cJQ" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/station/medical/storage) "cJX" = ( /obj/structure/table/reinforced, /obj/machinery/status_display/evac/directional/west, @@ -12163,6 +12168,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/central) +"cVD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/service) "cVN" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -13637,16 +13649,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) -"dqj" = ( -/obj/machinery/modular_computer/preset/cargochat/medical, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 10 - }, -/obj/machinery/light_switch/directional/north, -/obj/structure/cable, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/station/medical/storage) "dql" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -14703,20 +14705,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"dCI" = ( -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/machinery/computer/department_orders/science{ - dir = 4 - }, -/obj/effect/turf_decal/bot/left, -/obj/structure/sign/nanotrasen{ - pixel_x = -32 - }, -/turf/open/floor/iron, -/area/station/science/research) "dCT" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm/directional/east, @@ -16436,21 +16424,6 @@ /obj/effect/turf_decal/tile/neutral/full, /turf/open/floor/iron/dark/smooth_large, /area/station/service/chapel/storage) -"dZw" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/firealarm/directional/north, -/obj/machinery/camera/directional/north{ - c_tag = "Service - Service Hall"; - dir = 9; - name = "service camera" - }, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/service) "dZD" = ( /obj/machinery/telecomms/server/presets/science, /obj/effect/turf_decal/tile/purple/anticorner/contrasted{ @@ -17946,15 +17919,6 @@ }, /turf/open/floor/wood/large, /area/station/command/corporate_showroom) -"etA" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/bot, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron, -/area/station/engineering/storage) "etI" = ( /obj/machinery/door/airlock/external{ name = "External Docking Port" @@ -17983,6 +17947,15 @@ }, /turf/open/floor/iron, /area/station/engineering/main) +"etW" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron, +/area/station/engineering/storage) "eua" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -18094,19 +18067,6 @@ "evq" = ( /turf/open/floor/iron/dark, /area/station/service/electronic_marketing_den) -"evr" = ( -/obj/machinery/door/window/left/directional/east{ - name = "Medical Delivery"; - req_access = list("medical") - }, -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/textured, -/area/station/medical/storage) "evH" = ( /obj/machinery/camera/directional/west{ c_tag = "Atmospherics - Storage"; @@ -19038,7 +18998,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/item/folder/blue, +/obj/structure/desk_bell{ + pixel_x = 7 + }, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) "eIy" = ( @@ -20242,14 +20204,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"eWN" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/service) "eWR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/stripes/line{ @@ -22050,6 +22004,23 @@ /obj/effect/turf_decal/siding/yellow, /turf/open/floor/iron, /area/station/engineering/atmos/storage/gas) +"fuw" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/status_display/evac/directional/south, +/obj/effect/turf_decal/bot, +/obj/structure/sign/directions/arrival{ + dir = 1; + pixel_x = 32; + pixel_y = -4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "fux" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -22810,29 +22781,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) -"fER" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/status_display/evac/directional/west, -/obj/effect/turf_decal/siding/purple{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/light/directional/west, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron, -/area/station/science/lab) -"fEX" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/status_display/evac/directional/north, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/service) "fFb" = ( /obj/structure/table, /obj/effect/spawner/random/entertainment/drugs{ @@ -23946,13 +23894,6 @@ "fTS" = ( /turf/open/floor/iron, /area/station/security/prison/work) -"fTZ" = ( -/obj/structure/table, -/obj/item/stack/package_wrap, -/obj/item/stack/package_wrap, -/obj/item/hand_labeler, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) "fUf" = ( /obj/structure/table/wood/poker, /obj/effect/spawner/random/maintenance, @@ -24071,17 +24012,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/medical/treatment_center) -"fVA" = ( -/obj/machinery/modular_computer/preset/cargochat/engineering{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 5 - }, -/obj/structure/sign/poster/official/random/directional/south, -/obj/machinery/light/directional/south, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "fVT" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -24705,12 +24635,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/department/science) -"gcQ" = ( -/obj/machinery/power/smes/full, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/telecomms, -/area/station/tcommsat/server) "gcR" = ( /obj/structure/cable, /obj/machinery/door/poddoor/preopen{ @@ -27343,6 +27267,18 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) +"gIa" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron, +/area/station/security/brig) "gIc" = ( /obj/machinery/computer/security/telescreen/entertainment/directional/west, /obj/structure/sign/calendar/directional/north, @@ -27430,12 +27366,6 @@ }, /turf/open/floor/iron, /area/station/security/warden) -"gIE" = ( -/obj/machinery/modular_computer/preset/cargochat/service, -/obj/effect/turf_decal/bot, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) "gII" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/line{ @@ -27931,6 +27861,18 @@ /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron, /area/station/security/prison) +"gPH" = ( +/obj/structure/sign/poster/official/moth_epi/directional/west, +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/medical/storage) "gPO" = ( /obj/structure/table/reinforced, /obj/item/flashlight/lamp/green, @@ -28158,16 +28100,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"gSL" = ( -/obj/machinery/airalarm/directional/north, -/obj/effect/landmark/start/hangover/closet, -/obj/effect/spawner/random/structure/closet_private, -/obj/item/clothing/head/costume/kitty, -/obj/item/clothing/under/costume/maid, -/obj/item/clothing/head/costume/rabbitears, -/obj/item/clothing/under/dress/eveninggown, -/turf/open/floor/wood, -/area/station/commons/dorms) "gSR" = ( /obj/structure/sink/directional/south, /obj/effect/turf_decal/tile/blue{ @@ -29362,6 +29294,11 @@ /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/floor/iron, /area/station/medical/pharmacy) +"hjH" = ( +/obj/item/radio/intercom/directional/north, +/obj/machinery/photocopier, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "hjJ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -29461,6 +29398,14 @@ dir = 1 }, /area/station/science/ordnance/storage) +"hkZ" = ( +/obj/structure/sign/warning/secure_area/directional/south, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 6 + }, +/obj/item/kirbyplants/organic/plant10, +/turf/open/floor/iron/white, +/area/station/science/research) "hlj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/holopad, @@ -31751,6 +31696,15 @@ /obj/effect/turf_decal/tile/dark_blue/fourcorners, /turf/open/floor/iron, /area/station/commons/dorms/laundry) +"hRU" = ( +/obj/effect/turf_decal/bot, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/light/small/directional/south, +/obj/machinery/modular_computer/preset/cargochat/service{ + dir = 1 + }, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "hRV" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -32283,7 +32237,6 @@ /obj/structure/tank_holder/extinguisher, /obj/machinery/camera/directional/south{ c_tag = "Library - Art Gallery"; - default_camera_icon = "Service - Cafeteria Aft"; name = "library camera" }, /turf/open/floor/wood/tile, @@ -32466,30 +32419,6 @@ dir = 8 }, /area/station/engineering/atmos/project) -"iaK" = ( -/obj/structure/safe/vault, -/obj/item/clothing/neck/stethoscope, -/obj/item/book{ - desc = "An undeniably handy book."; - icon_state = "bookknock"; - name = "\improper A Simpleton's Guide to Safe-cracking with Stethoscopes" - }, -/obj/item/stack/sheet/mineral/diamond, -/obj/item/stack/spacecash/c1000, -/obj/item/stack/spacecash/c1000, -/obj/item/stack/spacecash/c1000, -/obj/item/stack/spacecash/c1000, -/obj/item/stack/spacecash/c1000, -/obj/item/stack/spacecash/c500, -/obj/item/stack/spacecash/c500, -/obj/item/stack/spacecash/c500, -/obj/item/stack/spacecash/c500, -/obj/item/stack/spacecash/c500, -/obj/item/gun/ballistic/automatic/pistol/deagle, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/status_display/evac/directional/south, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) "iaL" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -32948,10 +32877,6 @@ }, /turf/open/floor/iron, /area/station/construction/mining/aux_base) -"iff" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/service) "ifi" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/virology/glass{ @@ -34744,15 +34669,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"iDS" = ( -/obj/machinery/computer/department_orders/engineering{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 9 - }, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "iEa" = ( /obj/structure/table/wood, /obj/item/clothing/under/costume/maid, @@ -35540,6 +35456,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/engineering/atmos) +"iOp" = ( +/obj/machinery/light_switch/directional/north, +/obj/structure/cable, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/textured, +/area/station/medical/storage) "iOu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -35706,18 +35631,6 @@ dir = 1 }, /area/station/service/kitchen) -"iRs" = ( -/obj/machinery/light/small/directional/north, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron, -/area/station/security/brig) "iRt" = ( /obj/effect/turf_decal/tile/purple{ dir = 8 @@ -36909,6 +36822,30 @@ /obj/effect/turf_decal/tile/neutral/full, /turf/open/floor/iron/large, /area/station/security/processing) +"jeZ" = ( +/obj/structure/safe/vault, +/obj/item/clothing/neck/stethoscope, +/obj/item/book{ + desc = "An undeniably handy book."; + icon_state = "bookknock"; + name = "\improper A Simpleton's Guide to Safe-cracking with Stethoscopes" + }, +/obj/item/stack/sheet/mineral/diamond, +/obj/item/stack/spacecash/c1000, +/obj/item/stack/spacecash/c1000, +/obj/item/stack/spacecash/c1000, +/obj/item/stack/spacecash/c1000, +/obj/item/stack/spacecash/c1000, +/obj/item/stack/spacecash/c500, +/obj/item/stack/spacecash/c500, +/obj/item/stack/spacecash/c500, +/obj/item/stack/spacecash/c500, +/obj/item/stack/spacecash/c500, +/obj/item/gun/ballistic/automatic/pistol/deagle, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/status_display/evac/directional/south, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "jfn" = ( /obj/machinery/vending/wardrobe/bar_wardrobe, /obj/structure/sign/poster/random/directional/east, @@ -37059,6 +36996,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/engineering/supermatter/room) +"jgG" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/firealarm/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Service Hall"; + dir = 9; + name = "service camera" + }, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/service) "jgN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -37755,12 +37704,6 @@ /obj/item/clothing/suit/toggle/labcoat, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"joU" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) "jpe" = ( /obj/machinery/computer/records/security{ dir = 4 @@ -38305,13 +38248,6 @@ /obj/effect/turf_decal/trimline/purple/filled/warning, /turf/open/floor/iron/white, /area/station/science/lobby) -"jwA" = ( -/obj/structure/cable, -/obj/machinery/firealarm/directional/east, -/obj/item/kirbyplants/random, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "jwT" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -39014,6 +38950,19 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/transit_tube) +"jFa" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/status_display/evac/directional/west, +/obj/effect/turf_decal/siding/purple{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron, +/area/station/science/lab) "jFb" = ( /obj/structure/cable, /obj/structure/disposalpipe/sorting/mail/flip{ @@ -40737,25 +40686,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"kbc" = ( -/obj/machinery/computer/department_orders/medical, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 6 - }, -/obj/machinery/requests_console/directional/north{ - department = "Medbay"; - name = "Medbay Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/structure/cable, -/obj/effect/turf_decal/bot, -/obj/machinery/camera/directional/north{ - c_tag = "Medbay - Storage"; - name = "medbay camera"; - network = list("ss13","medbay") - }, -/turf/open/floor/iron, -/area/station/medical/storage) "kbd" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 8 @@ -42689,12 +42619,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/research) -"kzV" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/computer/department_orders/service, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) "kzX" = ( /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/floor/iron/white, @@ -46247,11 +46171,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/science/ordnance/office) -"lvX" = ( -/obj/structure/cable, -/mob/living/simple_animal/slime, -/turf/open/floor/circuit/green, -/area/station/science/xenobiology) "lvZ" = ( /turf/closed/wall, /area/station/medical/break_room) @@ -46540,6 +46459,20 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/service/theater) +"lAe" = ( +/obj/machinery/light/directional/south, +/obj/machinery/camera/directional/south{ + c_tag = "Security - Office Aft" + }, +/obj/machinery/computer/security/telescreen/entertainment/directional/south, +/obj/machinery/modular_computer/preset/cargochat/security{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/station/security/office) "lAg" = ( /obj/structure/table/wood, /obj/item/folder/red, @@ -47083,6 +47016,14 @@ "lGv" = ( /turf/closed/wall/r_wall, /area/station/security/prison/work) +"lGz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/table/wood, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/computer/security/wooden_tv, +/turf/open/floor/iron/grimy, +/area/station/command/bridge) "lGE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49324,10 +49265,8 @@ req_access = list("kitchen") }, /obj/machinery/button/ticket_machine{ - pixel_y = 22 - }, -/obj/item/radio/intercom/directional/north{ - pixel_y = 30 + pixel_y = 22; + pixel_x = -6 }, /obj/machinery/button/door/directional/west{ id = "hopblast"; @@ -49342,6 +49281,10 @@ req_access = list("hop") }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/button/photobooth{ + pixel_y = 22; + pixel_x = 6 + }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) "mlW" = ( @@ -51322,17 +51265,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation) -"mKa" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/structure/table, -/obj/machinery/fax{ - fax_name = "Service Hallway"; - name = "Service Fax Machine" - }, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/service) "mKc" = ( /obj/structure/table, /obj/item/storage/medkit/regular, @@ -51514,6 +51446,16 @@ }, /turf/open/floor/iron, /area/station/medical/virology) +"mNL" = ( +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/light/directional/east, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron, +/area/station/medical/medbay) "mNX" = ( /obj/machinery/status_display/evac/directional/west, /obj/machinery/light/directional/west, @@ -52086,6 +52028,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/locker) +"mVX" = ( +/obj/machinery/power/smes/full, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/telecomms, +/area/station/tcommsat/server) "mVY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -53143,14 +53091,6 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/medical/virology) -"nlp" = ( -/obj/structure/sign/warning/secure_area/directional/south, -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 10 - }, -/turf/open/floor/iron/white, -/area/station/science/research) "nly" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -53635,12 +53575,6 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos/storage/gas) -"nsG" = ( -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/security/office) "nsH" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -55269,11 +55203,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/dark, /area/station/service/chapel) -"nOn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/photocopier, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/service) "nOr" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -57734,16 +57663,6 @@ }, /turf/open/floor/wood, /area/station/service/library/abandoned) -"ovQ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/service) "ovS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58115,6 +58034,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"oBa" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "oBd" = ( /obj/machinery/newscaster/directional/east, /obj/effect/turf_decal/trimline/blue/filled/corner{ @@ -59125,6 +59051,21 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/lobby) +"oPF" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Science - Central Access"; + dir = 9; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/trimline/purple/filled/corner{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/science/research) "oPL" = ( /obj/machinery/door/window/right/directional/east{ name = "Danger: Conveyor Access"; @@ -59241,6 +59182,11 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/commons/fitness/recreation) +"oRq" = ( +/obj/structure/cable, +/mob/living/basic/slime, +/turf/open/floor/circuit/green, +/area/station/science/xenobiology) "oRs" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, @@ -59506,6 +59452,23 @@ }, /turf/open/floor/iron/dark, /area/station/service/abandoned_gambling_den) +"oUf" = ( +/obj/machinery/requests_console/directional/north{ + department = "Medbay"; + name = "Medbay Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/structure/cable, +/obj/effect/turf_decal/bot, +/obj/machinery/camera/directional/north{ + c_tag = "Medbay - Storage"; + name = "medbay camera"; + network = list("ss13","medbay") + }, +/obj/machinery/modular_computer/preset/cargochat/medical, +/obj/effect/turf_decal/trimline/brown/filled/end, +/turf/open/floor/iron, +/area/station/medical/storage) "oUh" = ( /obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{ dir = 1 @@ -59707,6 +59670,15 @@ dir = 8 }, /area/station/engineering/atmos/project) +"oXX" = ( +/obj/machinery/disposal/bin, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "oYe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59846,6 +59818,7 @@ /obj/structure/table/wood, /obj/item/papercutter, /obj/item/paper/fluff/ids_for_dummies, +/obj/item/radio/intercom/directional/east, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) "paQ" = ( @@ -59950,15 +59923,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"pbV" = ( -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "pbW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -60189,6 +60153,18 @@ dir = 1 }, /area/station/commons/fitness/recreation) +"pen" = ( +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/structure/sign/warning/deathsposal/directional/east, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 1 + }, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron, +/area/station/science/xenobiology) "peo" = ( /obj/structure/table/reinforced, /obj/item/storage/belt/utility, @@ -60587,17 +60563,6 @@ /obj/effect/turf_decal/tile/neutral/anticorner/contrasted, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"piu" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/textured, -/area/station/medical/storage) "piv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63150,6 +63115,16 @@ /obj/structure/barricade/wooden, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"pOu" = ( +/obj/machinery/power/smes/full, +/obj/machinery/status_display/ai/directional/north, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/station/ai_monitored/turret_protected/aisat_interior) "pOz" = ( /obj/structure/cable, /obj/machinery/modular_computer/preset/id{ @@ -66012,11 +65987,9 @@ /turf/open/floor/iron, /area/station/engineering/main) "qyK" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/item/pen, /obj/machinery/light/small/directional/west, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/photobooth/security, /turf/open/floor/iron/dark, /area/station/security/execution/transfer) "qyX" = ( @@ -66220,19 +66193,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"qBn" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/sign/poster/official/moth_epi/directional/west, -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/medical/storage) "qBo" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -66293,6 +66253,13 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/textured, /area/station/engineering/storage) +"qBY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/secure_safe/caps_spare, +/obj/structure/table/wood, +/turf/open/floor/iron/grimy, +/area/station/command/bridge) "qCb" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/bot, @@ -67067,24 +67034,13 @@ /turf/open/floor/iron/dark, /area/station/security/courtroom) "qLa" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -6; - pixel_y = 5 - }, -/obj/item/pen{ - pixel_x = -6; - pixel_y = 5 - }, /obj/machinery/flasher/directional/east{ id = "hopflash"; pixel_x = 0; pixel_y = 26 }, -/obj/structure/desk_bell{ - pixel_x = 7 - }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/photobooth, /turf/open/floor/iron/dark, /area/station/hallway/primary/central/fore) "qLg" = ( @@ -67758,6 +67714,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"qUL" = ( +/obj/machinery/modular_computer/preset/cargochat/engineering{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/filled/end{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "qUM" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall/r_wall, @@ -69303,6 +69268,15 @@ }, /turf/open/floor/iron, /area/station/maintenance/port) +"roh" = ( +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/trimline/purple/filled/corner{ + dir = 8 + }, +/obj/machinery/airalarm/directional/south, +/obj/machinery/photocopier, +/turf/open/floor/iron/white, +/area/station/science/research) "rol" = ( /obj/structure/chair/sofa/bench{ dir = 8 @@ -69382,11 +69356,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage) -"rpH" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/siding/wideplating, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/service) "rpK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70496,6 +70465,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/engineering/atmos/storage) +"rFV" = ( +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/trunk, +/obj/machinery/camera/directional/north{ + c_tag = "Security - Office Fore"; + dir = 9 + }, +/obj/machinery/airalarm/directional/north, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/directional/north, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron/dark, +/area/station/security/office) "rFZ" = ( /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -70676,11 +70658,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"rIx" = ( -/obj/structure/table, -/obj/item/clipboard, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) "rID" = ( /obj/effect/turf_decal/tile/green{ dir = 8 @@ -72429,6 +72406,16 @@ }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"sbZ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/status_display/evac/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/service) "sca" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -72464,6 +72451,15 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark, /area/station/science/ordnance/storage) +"scJ" = ( +/obj/machinery/airalarm/directional/north, +/obj/structure/table, +/obj/machinery/fax{ + fax_name = "Service Hallway"; + name = "Service Fax Machine" + }, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "scR" = ( /obj/machinery/airalarm/directional/south, /turf/open/floor/iron/white, @@ -72770,6 +72766,14 @@ }, /turf/open/floor/iron, /area/station/security/brig) +"sgG" = ( +/obj/structure/table, +/obj/item/clipboard, +/obj/item/stack/package_wrap, +/obj/item/hand_labeler, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "sgI" = ( /obj/docking_port/stationary/escape_pod{ dir = 4 @@ -73013,14 +73017,6 @@ /obj/effect/spawner/random/vending/snackvend, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) -"skv" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/machinery/recharge_station, -/obj/effect/turf_decal/bot_red, -/turf/open/floor/iron, -/area/station/science/research) "skx" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -73646,17 +73642,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/medical/pharmacy) -"stp" = ( -/obj/machinery/airalarm/directional/west, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/machinery/modular_computer/preset/cargochat/science{ - dir = 4 - }, -/obj/effect/turf_decal/bot/left, -/turf/open/floor/iron, -/area/station/science/research) "stx" = ( /obj/structure/chair/pew/left, /turf/open/floor/iron/chapel{ @@ -74682,6 +74667,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/ai_upload) +"sGp" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/security/office) "sGx" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -75334,13 +75326,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/engineering/main) -"sNP" = ( -/obj/structure/cable, -/obj/machinery/power/smes/full, -/obj/effect/turf_decal/bot, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron, -/area/station/engineering/gravity_generator) "sOi" = ( /obj/machinery/portable_atmospherics/pump, /obj/effect/turf_decal/bot, @@ -75604,15 +75589,6 @@ /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron, /area/station/maintenance/department/security) -"sRB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/service) "sRC" = ( /obj/machinery/door/morgue{ name = "Confession Booth" @@ -76153,6 +76129,12 @@ }, /turf/open/floor/iron, /area/station/science/lab) +"sYe" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/service) "sYf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -77315,6 +77297,33 @@ /obj/machinery/light/small/dim/directional/north, /turf/open/floor/iron/dark, /area/station/maintenance/department/science) +"tpV" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 1 + }, +/obj/machinery/door/window/left/directional/east{ + name = "Medical Delivery"; + req_access = list("medical") + }, +/turf/open/floor/iron/textured, +/area/station/medical/storage) +"tpX" = ( +/obj/machinery/power/smes/full, +/obj/structure/sign/warning/electric_shock/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "AI Chamber - Fore"; + name = "motion-sensitive ai camera"; + network = list("aichamber") + }, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai) "tpZ" = ( /turf/closed/wall, /area/station/maintenance/starboard/fore) @@ -77798,15 +77807,6 @@ /obj/structure/sign/warning/electric_shock/directional/south, /turf/open/floor/plating, /area/station/maintenance/department/electrical) -"tuM" = ( -/obj/item/kirbyplants/random, -/obj/machinery/firealarm/directional/east, -/obj/effect/turf_decal/trimline/purple/filled/corner{ - dir = 8 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/iron/white, -/area/station/science/research) "tuN" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -79481,19 +79481,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) -"tPT" = ( -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/trunk, -/obj/machinery/camera/directional/north{ - c_tag = "Security - Office Fore"; - dir = 9 - }, -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/light/directional/north, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron/dark, -/area/station/security/office) "tPY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -82461,20 +82448,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos/storage/gas) -"uBY" = ( -/obj/machinery/light/directional/south, -/obj/machinery/camera/directional/south{ - c_tag = "Security - Office Aft" - }, -/obj/machinery/computer/security/telescreen/entertainment/directional/south, -/obj/machinery/modular_computer/preset/cargochat/security{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/security/office) "uBZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -83029,6 +83002,12 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/secondary/exit) +"uJl" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "uJm" = ( /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, @@ -84030,12 +84009,6 @@ "uUW" = ( /turf/closed/wall, /area/station/maintenance/space_hut/observatory) -"uVd" = ( -/obj/effect/landmark/start/hangover, -/obj/machinery/holopad, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/service) "uVe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/airlock/maintenance_hatch{ @@ -84299,6 +84272,13 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"uZc" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/security/office) "uZe" = ( /obj/machinery/door/window/brigdoor/left/directional/south{ name = "Coroner's Office"; @@ -84532,16 +84512,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/department/chapel) -"vbt" = ( -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/light/directional/east, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron, -/area/station/medical/medbay) "vbH" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -85016,13 +84986,6 @@ }, /turf/open/floor/iron, /area/station/security/execution/transfer) -"vis" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/secure_safe/caps_spare, -/obj/structure/table/wood, -/turf/open/floor/iron/grimy, -/area/station/command/bridge) "vit" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red/anticorner/contrasted, @@ -85143,6 +85106,13 @@ }, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"vke" = ( +/obj/structure/cable, +/obj/machinery/power/smes/full, +/obj/effect/turf_decal/bot, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) "vkg" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -88205,20 +88175,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/cargo/storage) -"vZV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/purple/filled/corner{ - dir = 1 - }, -/obj/structure/table, -/obj/machinery/fax{ - fax_name = "Research Division"; - name = "Research Division Fax Machine"; - pixel_x = 1 - }, -/turf/open/floor/iron/white, -/area/station/science/research) "vZX" = ( /obj/machinery/status_display/ai/directional/north, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -88689,6 +88645,13 @@ /obj/item/flashlight/lamp, /turf/open/floor/wood, /area/station/hallway/secondary/service) +"wgz" = ( +/obj/effect/turf_decal/bot, +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "wgC" = ( /obj/machinery/door/poddoor/shutters/radiation/preopen{ id = "engsm"; @@ -89036,6 +88999,17 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) +"wkV" = ( +/obj/structure/sign/poster/official/random/directional/south, +/obj/machinery/light/directional/south, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "wlc" = ( /obj/structure/table/reinforced, /obj/item/gun/energy/laser/carbine/practice{ @@ -91657,6 +91631,12 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/captain) +"wRJ" = ( +/obj/structure/cable, +/obj/machinery/firealarm/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "wRL" = ( /obj/effect/spawner/random/structure/crate, /obj/machinery/light/small/broken/directional/west, @@ -91957,18 +91937,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/engineering/atmos) -"wWH" = ( -/obj/structure/plaque/static_plaque/golden{ - pixel_y = -32 - }, -/obj/machinery/computer/department_orders/security{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/station/security/office) "wWJ" = ( /obj/machinery/space_heater, /obj/effect/turf_decal/bot, @@ -95491,16 +95459,6 @@ }, /turf/open/floor/iron/freezer, /area/station/service/kitchen/coldroom) -"xOJ" = ( -/obj/machinery/power/smes/full, -/obj/machinery/status_display/ai/directional/north, -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/station/ai_monitored/turret_protected/aisat_interior) "xOP" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/south, @@ -95586,6 +95544,16 @@ /obj/effect/turf_decal/tile/neutral/full, /turf/open/floor/iron/large, /area/station/medical/storage) +"xQZ" = ( +/obj/machinery/airalarm/directional/north, +/obj/effect/landmark/start/hangover/closet, +/obj/effect/spawner/random/structure/closet_private, +/obj/item/clothing/head/costume/kitty, +/obj/item/clothing/under/costume/maid, +/obj/item/clothing/head/costume/rabbitears, +/obj/item/clothing/under/dress/eveninggown, +/turf/open/floor/wood, +/area/station/commons/dorms) "xRa" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 @@ -96577,19 +96545,6 @@ }, /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/hos) -"yfP" = ( -/obj/machinery/power/smes/full, -/obj/structure/sign/warning/electric_shock/directional/north, -/obj/machinery/camera/directional/north{ - c_tag = "AI Chamber - Fore"; - name = "motion-sensitive ai camera"; - network = list("aichamber") - }, -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai) "yfR" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ dir = 4 @@ -96772,22 +96727,6 @@ "yhJ" = ( /turf/open/floor/plating/airless, /area/space/nearstation) -"yhO" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Science - Central Access"; - dir = 9; - name = "science camera"; - network = list("ss13","rd") - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/trimline/purple/filled/corner{ - dir = 4 - }, -/obj/machinery/photocopier, -/turf/open/floor/iron/white, -/area/station/science/research) "yhW" = ( /obj/machinery/conveyor{ dir = 4; @@ -103626,7 +103565,7 @@ btH btH btH bPC -xOJ +pOu bTq jYp vgi @@ -105413,7 +105352,7 @@ alK qPm btH btH -yfP +tpX kXJ bEl xMy @@ -117242,7 +117181,7 @@ xqR qzc kUx kTV -sNP +vke dQl oIE fFu @@ -117799,7 +117738,7 @@ rqy jKx rTW tuk -czI +pen hvl uhb hSi @@ -118573,7 +118512,7 @@ pWL jjm rUl rTW -lvX +oRq rTW oVW oUe @@ -120115,7 +120054,7 @@ kSA jjm nkj rTW -lvX +oRq rTW oVW fmi @@ -120578,7 +120517,7 @@ fXF jgZ mrd rDL -iDS +qUL uCa wkj bqP @@ -120835,7 +120774,7 @@ fXF suH ikV gIk -fVA +wkV leE bfq iFn @@ -120876,7 +120815,7 @@ uKY gcr mQO rTW -lvX +oRq rTW iWX csO @@ -121092,7 +121031,7 @@ nmi xvf oQJ xJJ -pbV +oBa uCa aTz ygM @@ -121605,7 +121544,7 @@ wiZ fXF xkz hwe -jwA +wRJ vpV uCa gQk @@ -122424,7 +122363,7 @@ wDq sEc xNv kpx -cHx +bRw dJD jDd jDd @@ -123439,7 +123378,7 @@ bID xwu fAe ybJ -etA +etW euV pTC hlX @@ -126791,7 +126730,7 @@ nIa hSf ffb cMn -bUz +hkZ sIX sIX cLR @@ -128333,15 +128272,15 @@ txc pZM ffb dqP -nlp +anU sIX sIX xbJ sIX sIX -skv -dCI -stp +aCA +aqU +aJj dNN qMB wtS @@ -129361,13 +129300,13 @@ bGn igg tFM cTj -dyx +ikZ oRh oHq wNV -tuM +roh dNN -vZV +uMV sEF sVi xWf @@ -129624,7 +129563,7 @@ dNN dNN dNN dNN -yhO +oPF dCx aJT fDF @@ -131419,7 +131358,7 @@ qVJ qlp bBL iZt -fER +jFa nXI qVz iuU @@ -131848,7 +131787,7 @@ mcE kBz bhU cVe -aId +fuw tNu hnB fRo @@ -133139,7 +133078,7 @@ sid sBG sLz vRB -rIx +sgG xMe kVP bSp @@ -133395,8 +133334,8 @@ cnL kfa pPI kVP -fEX -fTZ +sbZ +oXX jVP kVP pET @@ -133652,8 +133591,8 @@ vdZ qPp pXt kVP -ovQ -joU +cVD +uJl iXO kVP pgN @@ -133909,8 +133848,8 @@ vBt tyK kVP kVP -dZw -uVd +jgG +wgz gMB kVP kVP @@ -134166,11 +134105,11 @@ kVP kVP kVP dUH -sRB -eWN -iff -rpH -biZ +cBB +bJi +giz +kVr +hRU kVP sGS qOT @@ -134713,7 +134652,7 @@ xms aaa wyH fIx -aWB +cxu cQv drj bog @@ -135194,8 +135133,8 @@ xSf mqV kVP giz -nOn -mKa +giz +sYe lJJ maV ptC @@ -135452,7 +135391,7 @@ kVP kVP vat kVP -gIE +hjH hUh kVP cAV @@ -135709,7 +135648,7 @@ pOD tWU sSH kVP -kzV +scJ qPX kVP aVE @@ -136258,7 +136197,7 @@ eTF jgq cQv sHn -vis +qBY wIe goc eVl @@ -136312,7 +136251,7 @@ irD irD rQB veM -vbt +mNL ako cBP pdl @@ -136515,7 +136454,7 @@ cnW iGB cQv sHn -aYZ +lGz rHn bCh eVl @@ -136571,9 +136510,9 @@ umA veM veM ako -piu -evr -qBn +tpV +cJQ +gPH uQF ibh cYk @@ -136828,8 +136767,8 @@ oCo fiU jRJ ako -dqj -bGM +iOp +dNc dNc dNc jhs @@ -137085,7 +137024,7 @@ euF oCo sJG ako -kbc +oUf rjO oOI oOI @@ -137556,7 +137495,7 @@ ilI ilI ilI hup -gcQ +mVX cMD ilI ilI @@ -142681,7 +142620,7 @@ qea eQr rgL eQr -iaK +jeZ lhY aaa mjz @@ -148594,7 +148533,7 @@ tDt hMP ozm fJq -iRs +gIa aFv cDm pEz @@ -149101,7 +149040,7 @@ nzR gKp gDP rTG -nsG +sGp ozu dql pWH @@ -149615,8 +149554,8 @@ ieg eIl ieg ieg -tXW -anY +uZc +bDx dql eBE gIV @@ -149650,7 +149589,7 @@ yaI qkv nTU yaI -gSL +xQZ xnF tnR yaI @@ -149872,8 +149811,8 @@ qlN bdx lpI iIb -sYN -wWH +tXW +cfx vgK wdC lTt @@ -150130,7 +150069,7 @@ sKp tXJ bkN gCV -uBY +lAe vgK ljX tLx @@ -150380,7 +150319,7 @@ qIH aaa aaa cjN -tPT +rFV agb ajc pyW diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index 35e72f4a266..e81e9481cf7 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -562,6 +562,16 @@ /obj/structure/chair/stool/directional/east, /turf/open/floor/iron, /area/station/commons/dorms) +"akG" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/tank_holder/extinguisher, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "akK" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -2885,14 +2895,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /turf/closed/wall/r_wall, /area/station/engineering/atmos) -"aUT" = ( -/obj/structure/disposalpipe/trunk, -/obj/machinery/airalarm/directional/east, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron/white/side{ - dir = 9 - }, -/area/station/science/lab) "aUY" = ( /obj/effect/turf_decal/siding/wood{ dir = 6 @@ -3541,10 +3543,6 @@ /obj/effect/spawner/structure/window/hollow/reinforced/end, /turf/open/floor/plating, /area/mine/eva/lower) -"bfB" = ( -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron/dark/textured, -/area/station/security/office) "bfL" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -4071,6 +4069,15 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"bmZ" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "bna" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -4500,6 +4507,13 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron/dark, /area/station/maintenance/port/greater) +"bsR" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "bta" = ( /obj/structure/chair/sofa/bench/right{ dir = 8 @@ -7579,6 +7593,17 @@ "clq" = ( /turf/open/floor/iron/dark, /area/station/security/processing) +"clr" = ( +/obj/machinery/power/smes{ + capacity = 1.8e+008; + charge = 2e+005 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/box, +/turf/open/floor/iron/dark/textured_large, +/area/station/maintenance/disposal/incinerator) "clz" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -8410,6 +8435,12 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/xenobiology) +"cyo" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "cyA" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/unres{ @@ -9843,15 +9874,6 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"cSy" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/structure/disposalpipe/junction{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) "cSE" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11421,6 +11443,11 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/commons/storage/mining) +"drG" = ( +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron, +/area/station/cargo/office) "drH" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -12825,6 +12852,16 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) +"dNv" = ( +/obj/machinery/modular_computer/preset/cargochat/security{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/machinery/light/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark/textured, +/area/station/security/office) "dNw" = ( /obj/structure/chair/office{ dir = 8 @@ -13102,23 +13139,6 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"dTa" = ( -/obj/machinery/camera{ - c_tag = "Medbay Pharmacy"; - dir = 9; - network = list("ss13","medbay") - }, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 1 - }, -/obj/machinery/shower/directional/south, -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/fluff/shower_drain, -/obj/effect/turf_decal/stripes/white/end, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) "dTm" = ( /obj/effect/decal/cleanable/blood/splatter, /obj/effect/mob_spawn/corpse/human/skeleton, @@ -14263,11 +14283,6 @@ dir = 1 }, /area/station/hallway/primary/starboard) -"emI" = ( -/obj/machinery/power/smes/full, -/obj/structure/cable, -/turf/open/floor/circuit/telecomms/mainframe, -/area/station/tcommsat/server) "emK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/side{ @@ -14755,6 +14770,23 @@ /obj/machinery/light_switch/directional/north, /turf/open/floor/iron, /area/station/commons/locker) +"eub" = ( +/obj/machinery/camera{ + c_tag = "Medbay Pharmacy"; + dir = 9; + network = list("ss13","medbay") + }, +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 1 + }, +/obj/machinery/shower/directional/south, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/fluff/shower_drain, +/obj/effect/turf_decal/stripes/white/end, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "euc" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -15552,13 +15584,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"eHU" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) "eHW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16273,6 +16298,18 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/security/execution/education) +"eUH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/obj/structure/disposalpipe/junction{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "eUI" = ( /obj/machinery/space_heater, /turf/open/floor/plating, @@ -17009,19 +17046,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"fhY" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/computer/security/telescreen/entertainment/directional/north, -/obj/effect/turf_decal/siding/yellow/corner{ - dir = 4 - }, -/obj/structure/table, -/obj/machinery/fax{ - fax_name = "Engineering Lobby"; - name = "Engineering Lobby Fax Machine" - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "fij" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -17950,6 +17974,11 @@ /obj/structure/cable, /turf/open/floor/iron/showroomfloor, /area/station/engineering/atmos) +"fwQ" = ( +/obj/structure/secure_safe/caps_spare, +/obj/structure/table/reinforced, +/turf/open/floor/iron, +/area/station/command/bridge) "fwS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -18424,6 +18453,15 @@ }, /turf/open/floor/iron, /area/mine/laborcamp/security) +"fEY" = ( +/obj/machinery/modular_computer/preset/cargochat/medical{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/filled/end{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/medical/medbay/aft) "fEZ" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -19032,6 +19070,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/explab) +"fOR" = ( +/obj/structure/disposalpipe/trunk, +/obj/machinery/airalarm/directional/east, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron/white/side{ + dir = 9 + }, +/area/station/science/lab) "fPb" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/cable, @@ -19482,13 +19528,6 @@ /obj/structure/railing/corner, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"fWE" = ( -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/security/office) "fWL" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -20346,6 +20385,18 @@ "gka" = ( /turf/closed/wall/r_wall, /area/station/engineering/supermatter/room) +"gkf" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/disposal/bin{ + desc = "A pneumatic waste disposal unit. This one leads to the morgue."; + name = "corpse disposal" + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "gko" = ( /obj/machinery/conveyor{ dir = 8; @@ -20569,6 +20620,18 @@ "gmW" = ( /turf/closed/wall, /area/station/commons/fitness) +"gnb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "gnh" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/cargo) @@ -20601,6 +20664,10 @@ dir = 8 }, /obj/machinery/light/small/directional/west, +/obj/machinery/requests_console/directional/west, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/information, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) "gnL" = ( @@ -21492,15 +21559,6 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/fore) -"gDE" = ( -/obj/machinery/defibrillator_mount/directional/north, -/obj/effect/turf_decal/tile/blue/full, -/obj/machinery/light/cold/directional/north, -/obj/machinery/stasis{ - dir = 4 - }, -/turf/open/floor/iron/large, -/area/station/medical/treatment_center) "gDN" = ( /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 @@ -22468,6 +22526,11 @@ /obj/machinery/light/directional/west, /turf/open/floor/plating, /area/station/cargo/storage) +"gTf" = ( +/obj/effect/turf_decal/tile/brown/fourcorners, +/obj/machinery/photocopier, +/turf/open/floor/iron/dark, +/area/station/engineering/lobby) "gTi" = ( /obj/machinery/door/airlock/medical/glass{ name = "Medbay Chemistry Access" @@ -22812,6 +22875,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"gYP" = ( +/obj/machinery/power/smes/full, +/obj/structure/cable, +/turf/open/floor/circuit/telecomms/mainframe, +/area/station/tcommsat/server) "gZa" = ( /obj/structure/sign/nanotrasen{ pixel_x = -32 @@ -23132,16 +23200,6 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"hdT" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/status_display/evac/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) "hdV" = ( /obj/structure/table, /obj/item/reagent_containers/condiment/saltshaker{ @@ -23259,6 +23317,15 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/mess) +"hfw" = ( +/obj/structure/cable, +/obj/machinery/power/smes/full, +/obj/machinery/camera/directional/south{ + c_tag = "Labor Camp Utilities"; + network = list("labor") + }, +/turf/open/floor/iron/smooth, +/area/mine/laborcamp/security) "hfA" = ( /obj/structure/window/reinforced/spawner/directional/north{ pixel_y = 2 @@ -23387,6 +23454,19 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"hio" = ( +/obj/machinery/computer/security/telescreen/entertainment/directional/north, +/obj/effect/turf_decal/siding/yellow/corner{ + dir = 4 + }, +/obj/structure/table, +/obj/machinery/fax{ + fax_name = "Engineering Lobby"; + name = "Engineering Lobby Fax Machine" + }, +/obj/effect/turf_decal/tile/brown/fourcorners, +/turf/open/floor/iron/dark, +/area/station/engineering/lobby) "hjh" = ( /obj/machinery/computer/records/security{ dir = 4 @@ -23723,6 +23803,16 @@ }, /turf/open/floor/iron, /area/station/commons/dorms/laundry) +"hpc" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark/textured, +/area/station/security/office) "hpd" = ( /turf/open/floor/plating, /area/station/engineering/engine_smes) @@ -24824,6 +24914,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/command/teleporter) +"hGj" = ( +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured_corner{ + dir = 4 + }, +/area/station/security/office) "hGs" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -24948,6 +25050,10 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"hIK" = ( +/mob/living/basic/slime, +/turf/open/floor/engine, +/area/station/science/xenobiology) "hIN" = ( /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark, @@ -25338,6 +25444,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) +"hPf" = ( +/obj/structure/safe/vault, +/obj/item/clothing/head/costume/bearpelt, +/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass, +/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass, +/obj/item/gun/ballistic/revolver/russian, +/obj/item/ammo_box/a357, +/obj/item/reagent_containers/cup/glass/bottle/vodka/badminka, +/obj/effect/turf_decal/bot_white/left, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "hPk" = ( /obj/machinery/door/airlock/security{ name = "Permabrig Chapel" @@ -25891,7 +26009,6 @@ /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) "hYW" = ( -/obj/machinery/door/firedoor, /obj/effect/turf_decal/tile/red{ dir = 4 }, @@ -25954,11 +26071,12 @@ /turf/open/floor/iron, /area/station/cargo/storage) "iaS" = ( -/obj/machinery/modular_computer/preset/id, -/obj/item/paper/fluff/ids_for_dummies, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 8 }, +/obj/structure/chair/office{ + dir = 8 + }, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) "iaT" = ( @@ -26536,6 +26654,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) +"ijf" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/box/white{ + color = "#52B4E9" + }, +/obj/machinery/holopad, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "iji" = ( /obj/structure/table, /obj/item/multitool/circuit{ @@ -27321,6 +27450,18 @@ }, /turf/open/floor/iron/cafeteria, /area/station/commons/dorms/laundry) +"iuK" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "iuS" = ( /obj/machinery/airalarm/directional/north, /turf/open/floor/glass/reinforced, @@ -28403,12 +28544,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured, /area/station/security/interrogation) -"iML" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) "iMT" = ( /turf/open/floor/iron, /area/station/commons/storage/primary) @@ -29678,14 +29813,6 @@ /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"jih" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/structure/tank_holder/extinguisher, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) "jjk" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -29828,14 +29955,6 @@ /obj/machinery/atmospherics/components/tank, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"jln" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "jlu" = ( /obj/structure/railing/corner, /turf/open/lava/plasma/ice_moon, @@ -32008,10 +32127,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/central/greater) -"jSW" = ( -/mob/living/simple_animal/slime, -/turf/open/floor/engine, -/area/station/science/xenobiology) "jTf" = ( /obj/structure/fence{ dir = 1 @@ -32156,13 +32271,6 @@ /obj/effect/turf_decal/box/white, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) -"jVH" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/blue/filled/corner, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "jVL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -32496,6 +32604,16 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) +"kbz" = ( +/obj/machinery/airalarm/directional/north, +/obj/structure/table, +/obj/machinery/fax{ + fax_name = "Security Office"; + name = "Security Office Fax Machine" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/textured, +/area/station/security/office) "kbJ" = ( /obj/machinery/field/generator, /turf/open/floor/plating, @@ -32976,6 +33094,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/construction) +"khv" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "khy" = ( /obj/structure/rack, /obj/item/wrench, @@ -33355,6 +33482,15 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"kmG" = ( +/obj/machinery/defibrillator_mount/directional/north, +/obj/effect/turf_decal/tile/blue/full, +/obj/machinery/light/cold/directional/north, +/obj/machinery/stasis{ + dir = 4 + }, +/turf/open/floor/iron/large, +/area/station/medical/treatment_center) "kmH" = ( /obj/effect/spawner/random/entertainment/cigar, /obj/structure/table, @@ -33390,16 +33526,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/crew_quarters/bar) -"kna" = ( -/obj/machinery/modular_computer/preset/cargochat/engineering, -/obj/effect/turf_decal/tile/brown/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/lobby) -"knc" = ( -/obj/machinery/computer/department_orders/engineering, -/obj/effect/turf_decal/tile/brown/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/lobby) "knd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, @@ -33893,11 +34019,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"ktT" = ( -/obj/structure/secure_safe/caps_spare, -/obj/structure/table/reinforced, -/turf/open/floor/iron, -/area/station/command/bridge) "ktU" = ( /turf/open/floor/carpet, /area/station/command/meeting_room) @@ -34018,13 +34139,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/station/engineering/lobby) -"kvI" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark/textured, -/area/station/security/office) "kvR" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -34501,11 +34615,6 @@ /obj/structure/stairs/west, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"kCU" = ( -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron, -/area/station/cargo/office) "kCV" = ( /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/service) @@ -34733,16 +34842,6 @@ dir = 1 }, /area/station/commons/storage/art) -"kGN" = ( -/obj/item/radio/intercom/directional/east, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/computer/security/telescreen/entertainment/directional/south, -/obj/machinery/light/small/directional/east, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron/dark, -/area/station/engineering/storage) "kGP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/red{ @@ -36045,15 +36144,6 @@ "kZu" = ( /turf/closed/wall, /area/mine/production) -"kZz" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/computer/department_orders/service{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/hallway/secondary/service) "kZC" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot_white, @@ -36856,18 +36946,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/mechbay) -"lmR" = ( -/obj/structure/safe/vault, -/obj/item/clothing/head/costume/bearpelt, -/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass, -/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass, -/obj/item/gun/ballistic/revolver/russian, -/obj/item/ammo_box/a357, -/obj/item/reagent_containers/cup/glass/bottle/vodka/badminka, -/obj/effect/turf_decal/bot_white/left, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) "lmY" = ( /obj/machinery/newscaster/directional/west, /obj/machinery/camera{ @@ -37223,17 +37301,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/science/robotics/lab) -"lsd" = ( -/obj/machinery/power/smes{ - capacity = 1.8e+008; - charge = 2e+005 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/effect/turf_decal/stripes/box, -/turf/open/floor/iron/dark/textured_large, -/area/station/maintenance/disposal/incinerator) "lsi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -37571,18 +37638,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/medical/treatment_center) -"lyo" = ( -/obj/machinery/requests_console/directional/north{ - department = "Security"; - name = "Security Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/information, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/turf_decal/tile/red/anticorner, -/turf/open/floor/iron/dark/textured_corner{ - dir = 1 - }, -/area/station/security/office) "lyq" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /obj/effect/turf_decal/bot, @@ -37596,16 +37651,6 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/stone, /area/mine/eva/lower) -"lyw" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) "lyG" = ( /turf/open/floor/glass/reinforced, /area/station/ai_monitored/security/armory/upper) @@ -37687,11 +37732,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"lzV" = ( -/obj/machinery/power/smes/full, -/obj/structure/cable, -/turf/open/floor/circuit, -/area/station/ai_monitored/turret_protected/ai) "lzX" = ( /obj/machinery/light/floor, /turf/open/floor/iron/white, @@ -39184,6 +39224,19 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) +"lWS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "lXi" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -41481,6 +41534,11 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"mMf" = ( +/obj/machinery/firealarm/directional/east, +/obj/structure/filingcabinet, +/turf/open/floor/iron/dark/textured, +/area/station/security/office) "mMk" = ( /obj/machinery/telecomms/message_server/preset, /turf/open/floor/iron/dark/telecomms, @@ -41528,15 +41586,6 @@ }, /turf/open/floor/plating/icemoon, /area/station/science/ordnance/bomb) -"mMX" = ( -/obj/machinery/airalarm/directional/north, -/obj/structure/table, -/obj/machinery/fax{ - fax_name = "Security Office"; - name = "Security Office Fax Machine" - }, -/turf/open/floor/iron/dark/textured, -/area/station/security/office) "mNj" = ( /obj/machinery/computer/security{ dir = 4 @@ -41896,15 +41945,6 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"mUM" = ( -/obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/tile/red/anticorner{ - dir = 8 - }, -/turf/open/floor/iron/dark/textured_corner{ - dir = 4 - }, -/area/station/security/office) "mUR" = ( /obj/machinery/firealarm/directional/north{ pixel_x = -26 @@ -43498,19 +43538,6 @@ "npD" = ( /turf/closed/wall/r_wall, /area/station/maintenance/aft/greater) -"npE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) "npH" = ( /obj/effect/decal/cleanable/dirt, /obj/item/reagent_containers/cup/bucket, @@ -43549,6 +43576,15 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"nqt" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "nqv" = ( /obj/structure/fence{ dir = 4 @@ -43642,19 +43678,6 @@ /obj/effect/mapping_helpers/mail_sorting/service/theater, /turf/open/floor/wood/parquet, /area/station/commons/lounge) -"nry" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) "nrA" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 4 @@ -45382,6 +45405,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"nRd" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "nRm" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -45785,6 +45816,9 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, /area/station/security/prison/visit) +"nYm" = ( +/turf/open/floor/iron/dark, +/area/station/engineering/lobby) "nYn" = ( /obj/structure/closet/secure_closet/personal/cabinet, /turf/open/floor/carpet, @@ -47248,14 +47282,6 @@ }, /turf/open/floor/iron/white, /area/station/science/genetics) -"ovb" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 - }, -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) "ovm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -47501,10 +47527,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"ozn" = ( -/obj/machinery/photocopier, -/turf/open/floor/iron/dark, -/area/station/engineering/lobby) "ozo" = ( /obj/effect/landmark/carpspawn, /turf/open/misc/asteroid/snow/icemoon, @@ -48871,6 +48893,18 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"oTE" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/item/kirbyplants/random, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "oTM" = ( /obj/item/flashlight/lantern, /obj/structure/table/wood, @@ -49243,16 +49277,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured_edge, /area/station/security/prison) -"oZW" = ( -/obj/machinery/newscaster/directional/south, -/obj/machinery/computer/department_orders/science{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/science/lab) "pac" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 @@ -49972,14 +49996,6 @@ /obj/structure/closet/crate/freezer/blood, /turf/open/floor/iron/white, /area/station/medical/cryo) -"pko" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) "pkN" = ( /obj/structure/railing, /obj/effect/mapping_helpers/burnt_floor, @@ -52328,14 +52344,6 @@ }, /turf/open/floor/iron, /area/station/science/robotics/lab) -"pVX" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/machinery/photocopier, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark/textured, -/area/station/security/office) "pWb" = ( /obj/effect/decal/cleanable/dirt, /obj/item/rack_parts, @@ -52476,17 +52484,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/engineering/atmos) -"pYx" = ( -/obj/structure/table/glass, -/obj/item/reagent_containers/cup/bottle/epinephrine, -/obj/item/reagent_containers/cup/bottle/multiver{ - pixel_x = 6 - }, -/obj/item/reagent_containers/syringe, -/obj/effect/turf_decal/tile/blue/full, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/large, -/area/station/medical/treatment_center) "pYz" = ( /obj/structure/railing/corner, /obj/machinery/door/firedoor/border_only, @@ -52895,6 +52892,17 @@ "qfh" = ( /turf/open/floor/iron/recharge_floor, /area/station/science/robotics/mechbay) +"qfi" = ( +/obj/structure/table/glass, +/obj/item/reagent_containers/cup/bottle/epinephrine, +/obj/item/reagent_containers/cup/bottle/multiver{ + pixel_x = 6 + }, +/obj/item/reagent_containers/syringe, +/obj/effect/turf_decal/tile/blue/full, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/large, +/area/station/medical/treatment_center) "qfj" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -54308,6 +54316,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) +"qCH" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "qCI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -54642,6 +54656,16 @@ /obj/effect/turf_decal/bot_white, /turf/open/floor/iron/checker, /area/station/commons/storage/emergency/port) +"qHa" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/machinery/status_display/evac/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "qHg" = ( /obj/structure/transit_tube/curved/flipped{ dir = 1 @@ -54890,6 +54914,13 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/entry) +"qKN" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "qKQ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -56625,19 +56656,6 @@ "rkL" = ( /turf/open/floor/carpet/blue, /area/station/medical/psychology) -"rkM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) "rkN" = ( /turf/closed/wall, /area/station/engineering/atmos/hfr_room) @@ -56970,20 +56988,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) -"rqq" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/box/white{ - color = "#52B4E9" - }, -/obj/machinery/holopad, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) "rqD" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -57209,12 +57213,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"ruM" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "ruO" = ( /obj/machinery/firealarm/directional/west, /obj/structure/disposalpipe/segment{ @@ -59037,9 +59035,6 @@ /turf/open/floor/iron/dark/smooth_large, /area/station/security/processing) "rYk" = ( -/obj/structure/chair/office{ - dir = 8 - }, /obj/machinery/button/flasher{ id = "hopflash"; pixel_x = 8; @@ -59064,6 +59059,10 @@ /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 8 }, +/obj/machinery/modular_computer/preset/id{ + dir = 1 + }, +/obj/item/paper/fluff/ids_for_dummies, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) "rYq" = ( @@ -59187,6 +59186,10 @@ dir = 4 }, /area/station/service/chapel) +"sao" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark/textured, +/area/station/security/office) "sbc" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -60421,6 +60424,16 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/white, /area/station/science/ordnance) +"sth" = ( +/obj/item/radio/intercom/directional/east, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/computer/security/telescreen/entertainment/directional/south, +/obj/machinery/light/small/directional/east, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron/dark, +/area/station/engineering/storage) "sto" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -62276,15 +62289,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"sWy" = ( -/obj/structure/cable, -/obj/machinery/power/smes/full, -/obj/machinery/camera/directional/south{ - c_tag = "Labor Camp Utilities"; - network = list("labor") - }, -/turf/open/floor/iron/smooth, -/area/mine/laborcamp/security) "sWB" = ( /obj/machinery/door/airlock/mining/glass{ name = "Mining Smeltery" @@ -62372,6 +62376,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/science/explab) +"sXG" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark/textured, +/area/station/security/office) "sXK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -64914,6 +64926,11 @@ /obj/structure/sign/warning/electric_shock, /turf/open/floor/plating, /area/station/science/xenobiology) +"tOg" = ( +/obj/machinery/power/smes/full, +/obj/structure/cable, +/turf/open/floor/circuit, +/area/station/ai_monitored/turret_protected/ai) "tOi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -65384,6 +65401,11 @@ }, /turf/open/floor/iron, /area/station/engineering/main) +"tXL" = ( +/obj/effect/turf_decal/tile/brown/fourcorners, +/obj/machinery/modular_computer/preset/cargochat/engineering, +/turf/open/floor/iron/dark, +/area/station/engineering/lobby) "tXV" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/camera/directional/north{ @@ -66440,6 +66462,13 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron, /area/station/command/teleporter) +"uoV" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/blue/filled/corner, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "upa" = ( /obj/structure/closet/firecloset, /turf/open/floor/plating, @@ -67478,15 +67507,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"uIt" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) "uIx" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/smart/manifold4w/purple/visible, @@ -67687,16 +67707,6 @@ }, /turf/open/floor/wood/parquet, /area/station/commons/lounge) -"uLV" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/filingcabinet, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark/textured, -/area/station/security/office) "uLX" = ( /obj/machinery/door/airlock{ name = "Port Emergency Storage" @@ -68377,15 +68387,6 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/medical/chemistry) -"uXW" = ( -/obj/machinery/modular_computer/preset/cargochat/security{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/machinery/light/directional/west, -/turf/open/floor/iron/dark/textured, -/area/station/security/office) "uYc" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -69526,6 +69527,21 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/dark, /area/station/medical/virology) +"vqJ" = ( +/obj/machinery/requests_console/directional/north{ + department = "Security"; + name = "Security Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/information, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/turf_decal/tile/red/anticorner, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured_corner{ + dir = 1 + }, +/area/station/security/office) "vqN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -69562,13 +69578,9 @@ /turf/open/floor/iron, /area/station/security/courtroom) "vry" = ( -/obj/machinery/requests_console/directional/south{ - department = "Head of Personnel's Desk"; - name = "Head of Personnel's Requests Console" +/obj/machinery/button/photobooth{ + pixel_y = -26 }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/information, -/obj/effect/mapping_helpers/requests_console/assistance, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) "vrC" = ( @@ -70370,6 +70382,13 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/brig/entrance) +"vDg" = ( +/obj/machinery/newscaster/directional/south, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/white/side{ + dir = 5 + }, +/area/station/science/lab) "vDh" = ( /obj/structure/table/glass, /obj/item/storage/box/beakers{ @@ -70410,16 +70429,6 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) -"vDS" = ( -/obj/machinery/computer/department_orders/security{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark/textured, -/area/station/security/office) "vEi" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -70871,6 +70880,10 @@ /obj/machinery/holopad, /turf/open/floor/iron/kitchen/diagonal, /area/station/service/kitchen) +"vMz" = ( +/obj/machinery/photobooth, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "vMA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -71575,6 +71588,17 @@ /obj/structure/barricade/wooden/snowed, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"vYr" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/table, +/obj/item/pen{ + pixel_x = -5 + }, +/obj/item/paper_bin, +/turf/open/floor/plating, +/area/station/hallway/secondary/service) "vYs" = ( /obj/machinery/light/directional/east, /obj/structure/cable, @@ -72614,15 +72638,6 @@ /obj/structure/sign/poster/official/safety_eye_protection/directional/south, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"woF" = ( -/obj/machinery/modular_computer/preset/cargochat/medical{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/filled/end{ - dir = 8 - }, -/turf/open/floor/iron/large, -/area/station/medical/medbay/aft) "woH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -72842,6 +72857,14 @@ }, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) +"wry" = ( +/obj/machinery/photocopier, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/textured, +/area/station/security/office) "wrA" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -73764,6 +73787,18 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance/departmental, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"wFo" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "wFO" = ( /obj/effect/landmark/start/hangover, /obj/effect/turf_decal/siding/wood{ @@ -74188,6 +74223,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"wMV" = ( +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/security/office) "wNp" = ( /obj/machinery/door/airlock/maintenance{ name = "Medbay Maintenance" @@ -75515,10 +75557,7 @@ req_access = list("brig"); specialfunctions = 4 }, -/obj/item/paper/crumpled{ - default_raw_text = "Remember! Corporate spent a lot of money to create this state of the art fashion show. If we EVER even so much as HEAR a rumor that a news crew or corporate rep is coming by, this place needs to be in TIP TOP condition. It's all of our asses (and our pensions) if it's not."; - name = "Crumpled Memo" - }, +/obj/machinery/photobooth/security, /turf/open/floor/iron/smooth, /area/station/security/execution/transfer) "xgg" = ( @@ -76093,16 +76132,6 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/department/crew_quarters/bar) -"xpt" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/effect/turf_decal/trimline/brown/filled/end{ - dir = 4 - }, -/obj/machinery/computer/department_orders/medical{ - dir = 1 - }, -/turf/open/floor/iron/large, -/area/station/medical/medbay/aft) "xpw" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, @@ -79024,18 +79053,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"ylS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "ylU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -114598,7 +114615,7 @@ iDt nTO ody hMJ -sWy +hfw nTO iDt xMq @@ -169931,10 +169948,10 @@ thA thA thA thA -xMq psb scw psb +iDt thA thA xMq @@ -170188,10 +170205,10 @@ thA thA thA iDt -iDt scw iDt scw +iDt thA thA thA @@ -170445,10 +170462,10 @@ thA thA iDt iDt -iDt psb scw psb +iDt thA thA thA @@ -187430,10 +187447,10 @@ tsa wHb qLY abe -jSW +hIK abe cKA -jSW +hIK abe cKA abe @@ -189486,7 +189503,7 @@ abe abe gLj abe -jSW +hIK gLj abe abe @@ -231583,7 +231600,7 @@ ybQ egF jYV jDW -lmR +hPf ybQ sDl jOt @@ -232119,7 +232136,7 @@ tKI dMv pdf tKI -kCU +drG ssc cXl wRx @@ -235210,10 +235227,10 @@ qrJ uLC xzh dnq -dnq qcu bDR hYW +mpy bep ylU dnq @@ -235238,7 +235255,7 @@ vjx mDf nLb kNp -emI +gYP vFs mMk qAV @@ -235468,9 +235485,9 @@ nqU rcE rcE rcE -rcE hVc jII +jII dnq ylU dnq @@ -235725,8 +235742,8 @@ ydT iIA fSC iIA -iIA cvg +vMz jII okb ylU @@ -235982,8 +235999,8 @@ cpm cpm cpm egY -egY wwn +jfc cpm pzb cRF @@ -236028,7 +236045,7 @@ wrc eVV rat dNG -kGN +sth aUj aUj stI @@ -236938,10 +236955,10 @@ aBR aBR lbc nbp -uXW -vDS +dNv +sXG ijj -uLV +hpc lRF feJ mgZ @@ -237195,7 +237212,7 @@ aBR aBR nbp nbp -lyo +vqJ omk omk jeF @@ -237711,10 +237728,10 @@ nbp xKY omk sMY -fWE +wMV qqM wMi -kvI +sao arA jwx kfy @@ -237761,7 +237778,7 @@ utR uEQ lET grA -ktT +fwQ nOH gxU gZq @@ -238223,12 +238240,12 @@ bln lBD nbp nbp -mUM +hGj jeF omk jeF nQf -bfB +mMf arA rYB rgC @@ -238480,8 +238497,8 @@ tGr bln lbc nbp -mMX -pVX +kbz +wry dlK pbI jIm @@ -240119,7 +240136,7 @@ elj iRr omi tKi -kna +tXL ydg dAm szR @@ -240376,7 +240393,7 @@ jkx fLq hro tKi -knc +gTf dxA oht rSC @@ -240633,7 +240650,7 @@ gwK jyR bID bID -fhY +hio vCK rSC rSC @@ -241146,7 +241163,7 @@ gMN xnE tvd egV -ozn +nYm syU vYJ fGn @@ -244967,7 +244984,7 @@ cwh dEV pNx azw -dTa +eub eyc qPt uTc @@ -245745,8 +245762,8 @@ sHc oGs sEz jFZ -jVH -ylS +uoV +gnb gTi whh pQL @@ -246002,7 +246019,7 @@ azw cXu frP oIJ -jln +nRd lwQ tHr tHr @@ -246234,7 +246251,7 @@ gzw kiB kQX kyZ -kZz +vYr mdZ rth hid @@ -246261,7 +246278,7 @@ eqp cTV fHz lwQ -pYx +qfi sEK eHg ahL @@ -246518,8 +246535,8 @@ iBj mcW sFG lwQ -gDE -ruM +kmG +cyo lup lup aCA @@ -248668,7 +248685,7 @@ mlp lEg cvh uBi -lzV +tOg jIZ oFx iHp @@ -248868,7 +248885,7 @@ oqc oAD xKX vep -lsd +clr sCm gGo bTQ @@ -249100,7 +249117,7 @@ tAx wbN grT lEo -woF +fEY qQp bVp jnS @@ -249357,7 +249374,7 @@ xyc dVw bkV ree -xpt +gkf qQp tQc jbx @@ -249612,16 +249629,16 @@ kNa ica lDM klc -hdT -nry -cSy +qHa +iuK +bmZ mJj laD -npE +lWS +laD +laD +laD xLK -iML -iML -iML nHX hRA ist @@ -249869,16 +249886,16 @@ vzN oXq xWT klc -uIt +oTE pJX -rqq +ijf lPr vcY mmR -lyw -dMp +bsR dMp dMp +khv lqG grD xZW @@ -250126,16 +250143,16 @@ bNH rIc tVB klc -ovb -jih -rkM +akG +gsT +eUH iYs xFo rvA -rkM -eHU -pko -gsT +wFo +qCH +qKN +nqt fFJ hRA npo @@ -257572,7 +257589,7 @@ ljF ljF sDg gXJ -oZW +vDg oHK iZl iZl @@ -258338,7 +258355,7 @@ kuV cAi qWn oPq -aUT +fOR tFF tia qNn diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm index 169a15331d7..6e5683d912a 100644 --- a/_maps/map_files/KiloStation/KiloStation.dmm +++ b/_maps/map_files/KiloStation/KiloStation.dmm @@ -33508,7 +33508,7 @@ /obj/effect/decal/cleanable/blood/gibs/old, /obj/effect/spawner/random/structure/crate, /mob/living/basic/chicken{ - habitable_atmos = list("min_oxy"=0,"max_oxy"=0,"min_tox"=0,"max_tox"=1,"min_co2"=0,"max_co2"=0,"min_n2"=0,"max_n2"=0); + habitable_atmos = null; desc = "A timeless classic."; name = "Kentucky" }, @@ -39134,9 +39134,6 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/computer/department_orders/security{ - dir = 1 - }, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted, /turf/open/floor/iron/dark, /area/station/security/office) @@ -39993,9 +39990,6 @@ /turf/open/floor/iron/dark, /area/station/hallway/primary/central) "nan" = ( -/obj/machinery/computer/department_orders/engineering{ - dir = 1 - }, /turf/open/floor/iron/dark, /area/station/engineering/main) "naw" = ( @@ -41755,11 +41749,6 @@ /area/station/cargo/storage) "nFN" = ( /obj/machinery/igniter/incinerator_ordmix, -/mob/living/basic/chicken{ - habitable_atmos = list("min_oxy"=0,"max_oxy"=0,"min_tox"=0,"max_tox"=1,"min_co2"=0,"max_co2"=0,"min_n2"=0,"max_n2"=0); - desc = "A timeless classic."; - name = "Kentucky" - }, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) "nFT" = ( @@ -61805,9 +61794,6 @@ /area/station/medical/chemistry) "ugG" = ( /obj/structure/cable, -/obj/machinery/computer/department_orders/service{ - dir = 4 - }, /obj/machinery/power/apc/auto_name/directional/west, /obj/effect/turf_decal/bot, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63471,9 +63457,6 @@ /obj/effect/turf_decal/trimline/brown/filled/end{ dir = 4 }, -/obj/machinery/computer/department_orders/science{ - dir = 1 - }, /turf/open/floor/iron/dark, /area/station/science/research) "uJN" = ( @@ -64815,7 +64798,7 @@ /turf/open/floor/iron/dark, /area/station/engineering/atmos) "vhx" = ( -/mob/living/simple_animal/slime, +/mob/living/basic/slime, /turf/open/floor/engine, /area/station/science/xenobiology) "vhK" = ( @@ -69737,9 +69720,6 @@ }, /obj/structure/cable, /obj/structure/disposalpipe/segment, -/obj/machinery/computer/department_orders/medical{ - dir = 8 - }, /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 875a0d12b5e..2d414269001 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -559,24 +559,6 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai_upload) -"akT" = ( -/obj/structure/table, -/obj/item/storage/box/bodybags{ - pixel_x = 4; - pixel_y = 2 - }, -/obj/item/pen, -/obj/item/storage/box/prisoner, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Prison Hallway Port"; - network = list("ss13","prison") - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron, -/area/station/security/execution/transfer) "akZ" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 4 @@ -2444,6 +2426,10 @@ }, /turf/open/floor/plating, /area/station/cargo/storage) +"aTs" = ( +/mob/living/basic/slime, +/turf/open/floor/engine, +/area/station/science/xenobiology) "aTD" = ( /obj/machinery/vending/coffee, /obj/item/radio/intercom/directional/south, @@ -2729,6 +2715,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison) +"aYk" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 4 + }, +/obj/structure/table/glass, +/obj/item/book/manual/wiki/engineering_construction{ + pixel_y = 3 + }, +/obj/item/folder/yellow{ + pixel_y = 1; + pixel_x = 2 + }, +/turf/open/floor/iron, +/area/station/engineering/break_room) "aYl" = ( /obj/structure/table, /obj/item/assembly/igniter{ @@ -3072,6 +3075,16 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"bdv" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal/bin/tagger, +/obj/effect/turf_decal/trimline/purple/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/siding, +/turf/open/floor/iron, +/area/station/science/lab) "bdy" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -3153,13 +3166,6 @@ }, /turf/open/floor/engine/plasma, /area/station/engineering/atmos) -"bfd" = ( -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/siding, -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron, -/area/station/science/lab) "bfg" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -3214,19 +3220,6 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"bgn" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/machinery/requests_console/directional/east{ - department = "Research Lab"; - name = "Research Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/ore_update, -/obj/effect/mapping_helpers/requests_console/information, -/obj/effect/mapping_helpers/requests_console/assistance, -/turf/open/floor/iron, -/area/station/science/lab) "bgs" = ( /obj/machinery/door/firedoor, /obj/structure/cable, @@ -3247,6 +3240,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/storage) +"bgS" = ( +/obj/machinery/firealarm/directional/north, +/obj/machinery/camera/directional/west{ + c_tag = "Medbay Clinic"; + network = list("ss13","medbay") + }, +/obj/item/radio/intercom/directional/west, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 1 + }, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "bgV" = ( /obj/structure/chair{ dir = 4 @@ -3330,22 +3339,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"bip" = ( -/obj/machinery/firealarm/directional/north, -/obj/machinery/camera/directional/west{ - c_tag = "Medbay Clinic"; - network = list("ss13","medbay") - }, -/obj/item/radio/intercom/directional/west, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 1 - }, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "biq" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -4109,16 +4102,6 @@ /obj/structure/closet/bombcloset, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"buw" = ( -/obj/structure/table, -/obj/item/clothing/gloves/color/orange, -/obj/item/restraints/handcuffs, -/obj/item/reagent_containers/spray/pepper, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/execution/transfer) "buE" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/window/spawner/directional/west, @@ -4291,6 +4274,13 @@ /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"bxO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/maintenance/starboard/greater) "bxX" = ( /obj/structure/flora/bush/ferny/style_random, /obj/structure/flora/bush/fullgrass/style_random, @@ -4510,14 +4500,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/command) -"bCC" = ( -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/wood, -/area/station/commons/lounge) "bCE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/mapping_helpers/broken_floor, @@ -4610,14 +4592,6 @@ /obj/machinery/light/floor, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"bEv" = ( -/obj/machinery/door/airlock/research/glass/incinerator/ordmix_exterior{ - name = "Burn Chamber Exterior Airlock" - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) "bEA" = ( /obj/structure/cable, /obj/machinery/camera/directional/south{ @@ -4796,6 +4770,45 @@ }, /turf/open/floor/wood/large, /area/station/commons/lounge) +"bIq" = ( +/obj/structure/table/wood, +/obj/machinery/button/ticket_machine{ + pixel_x = 38 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = 6; + pixel_y = -34 + }, +/obj/machinery/button/door/directional/south{ + id = "hop"; + name = "Privacy Shutters Control"; + pixel_x = -6; + req_access = list("hop") + }, +/obj/item/paper_bin/carbon{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/item/stamp/head/hop{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/machinery/button/door/directional/south{ + id = "hopqueue"; + name = "Queue Shutters Control"; + pixel_x = -6; + pixel_y = -34; + req_access = list("hop") + }, +/obj/item/pen{ + pixel_x = -4; + pixel_y = 3 + }, +/obj/machinery/button/photobooth{ + pixel_x = 26 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hop) "bIv" = ( /obj/machinery/smartfridge/organ, /obj/machinery/door/firedoor, @@ -5613,6 +5626,22 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"bXc" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/machinery/requests_console/directional/east{ + department = "Research Lab"; + name = "Research Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/ore_update, +/obj/effect/mapping_helpers/requests_console/information, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/turf_decal/trimline/purple/filled/warning/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/science/lab) "bXk" = ( /obj/machinery/telecomms/server/presets/command, /turf/open/floor/circuit/telecomms/mainframe, @@ -5952,11 +5981,6 @@ /obj/machinery/oven/range, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) -"cge" = ( -/obj/structure/secure_safe/caps_spare, -/obj/structure/table/glass, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "cgi" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark/side{ @@ -5995,10 +6019,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"cgP" = ( -/obj/machinery/air_sensor/ordnance_burn_chamber, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) "cha" = ( /obj/machinery/door/airlock/research/glass{ name = "Ordnance Lab" @@ -6099,6 +6119,10 @@ }, /turf/open/floor/iron/dark, /area/station/medical/morgue) +"cjD" = ( +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/white, +/area/station/science/explab) "cjJ" = ( /turf/open/floor/carpet/red, /area/station/command/heads_quarters/qm) @@ -6229,15 +6253,6 @@ /obj/item/toy/basketball, /turf/open/floor/iron, /area/station/security/prison) -"cnu" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/purple/filled/warning{ - dir = 5 - }, -/turf/open/floor/iron, -/area/station/science/explab) "cnA" = ( /obj/machinery/status_display/evac/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -6869,6 +6884,21 @@ /obj/machinery/atmospherics/pipe/smart/simple/green/visible, /turf/open/space, /area/space/nearstation) +"cxq" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 1 + }, +/obj/machinery/button/door/directional/west{ + id = "prison release"; + name = "Labor Camp Shuttle Lockdown"; + req_access = list("brig") + }, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron, +/area/station/security/brig) "cxt" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 6 @@ -7072,18 +7102,6 @@ /obj/structure/railing, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"cCx" = ( -/obj/machinery/modular_computer/preset/cargochat/science{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/purple/filled/warning{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/science/explab) "cCM" = ( /obj/structure/lattice/catwalk, /obj/item/reagent_containers/cup/glass/bottle/rum{ @@ -7622,12 +7640,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/command/heads_quarters/cmo) -"cOT" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/ordnance_burn_chamber_input{ - dir = 1 - }, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) "cOX" = ( /obj/structure/sign/warning/radiation/rad_area/directional/north, /obj/effect/turf_decal/stripes/line{ @@ -8200,12 +8212,6 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/port) -"cYZ" = ( -/obj/machinery/power/smes/full, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/storage/satellite) "cZi" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 4 @@ -8283,26 +8289,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, /turf/open/floor/iron, /area/station/engineering/atmos) -"dbd" = ( -/obj/structure/table, -/obj/item/stack/sheet/glass, -/obj/item/stack/sheet/glass, -/obj/item/stack/sheet/glass, -/obj/item/stack/sheet/glass, -/obj/machinery/button/door/directional/east{ - id = "rdrnd"; - name = "Primary Research Shutters Control"; - pixel_y = 6; - req_access = list("science") - }, -/obj/machinery/button/door/directional/east{ - id = "rndlab2"; - name = "Secondary Research Shutters Control"; - pixel_y = -6; - req_access = list("science") - }, -/turf/open/floor/iron, -/area/station/science/lab) "dbh" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -8541,10 +8527,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/station/service/theater) -"deY" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, -/turf/closed/wall/r_wall, -/area/station/science/ordnance/burnchamber) "dfh" = ( /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, @@ -8862,6 +8844,10 @@ /obj/effect/turf_decal/bot_white, /turf/open/floor/iron, /area/station/cargo/storage) +"dke" = ( +/obj/machinery/air_sensor/ordnance_burn_chamber, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance) "dkx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, @@ -9007,6 +8993,14 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) +"doM" = ( +/obj/item/radio/intercom/directional/north, +/obj/machinery/firealarm/directional/west, +/obj/machinery/light/small/directional/north, +/obj/structure/rack, +/obj/item/storage/toolbox/electrical, +/turf/open/floor/iron/white, +/area/station/science/explab) "dpg" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -9297,15 +9291,6 @@ dir = 1 }, /area/station/engineering/atmos/pumproom) -"dub" = ( -/obj/machinery/modular_computer/preset/cargochat/medical{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/medbay/central) "duk" = ( /obj/machinery/light/small/dim/directional/west, /turf/open/floor/iron, @@ -9341,6 +9326,10 @@ }, /turf/open/floor/iron/dark, /area/station/medical/break_room) +"duF" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/security/brig) "duI" = ( /turf/closed/wall, /area/station/command/bridge) @@ -9563,6 +9552,18 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron, /area/station/science/research) +"dBv" = ( +/obj/machinery/airalarm/directional/east, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron, +/area/station/cargo/storage) "dBV" = ( /obj/docking_port/stationary/escape_pod{ dir = 4 @@ -9704,14 +9705,6 @@ }, /turf/open/floor/iron, /area/station/engineering/gravity_generator) -"dEF" = ( -/obj/machinery/atmospherics/components/binary/pump/on, -/obj/machinery/light/small/directional/east, -/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/science/ordnance/burnchamber) "dEH" = ( /obj/effect/landmark/generic_maintenance_landmark, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -9978,6 +9971,10 @@ /obj/structure/sign/warning/pods, /turf/closed/wall/r_wall, /area/station/maintenance/department/engine) +"dKm" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/turf/open/floor/iron/white, +/area/station/medical/storage) "dKC" = ( /turf/closed/wall, /area/station/maintenance/aft/lesser) @@ -10324,6 +10321,15 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/science/central) +"dQy" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/random/directional/east, +/obj/machinery/light/cold/directional/east, +/obj/machinery/modular_computer/preset/cargochat/service{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/maintenance/starboard/greater) "dQA" = ( /obj/machinery/computer/rdservercontrol{ dir = 4 @@ -10804,9 +10810,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/execution/education) -"dXU" = ( -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) "dYa" = ( /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron, @@ -12924,17 +12927,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"eLc" = ( -/obj/machinery/power/smes/full, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/flasher/directional/north{ - id = "AI"; - pixel_x = -22 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai) "eLh" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -13286,10 +13278,6 @@ /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/white, /area/station/medical/cryo) -"eRn" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/closed/wall/r_wall, -/area/station/science/ordnance/burnchamber) "eRR" = ( /obj/structure/table, /obj/item/screwdriver{ @@ -13947,6 +13935,14 @@ /obj/structure/grille/broken, /turf/open/space/basic, /area/space/nearstation) +"fev" = ( +/obj/effect/turf_decal/bot_red, +/obj/machinery/recharge_station, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/storage) "feF" = ( /obj/structure/extinguisher_cabinet/directional/north, /obj/structure/cable, @@ -14724,6 +14720,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/disposal) +"fpM" = ( +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance) "fqB" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/cable, @@ -15797,15 +15796,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/brig) -"fNE" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high, -/obj/item/radio/intercom/directional/north, -/obj/machinery/firealarm/directional/west, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/white, -/area/station/science/explab) "fNI" = ( /obj/structure/sign/poster/contraband/random/directional/east, /turf/open/floor/wood, @@ -15853,25 +15843,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/range) -"fOC" = ( -/obj/structure/safe/vault, -/obj/item/storage/briefcase/secure/riches, -/obj/item/storage/backpack/duffelbag/syndie/hitman, -/obj/item/card/id/advanced/silver/reaper, -/obj/item/lazarus_injector, -/obj/item/gun/energy/disabler, -/obj/item/gun/ballistic/revolver/russian, -/obj/item/ammo_box/a357, -/obj/item/clothing/neck/stethoscope, -/obj/item/book{ - desc = "An undeniably handy book."; - icon_state = "bookknock"; - name = "\improper A Simpleton's Guide to Safe-cracking with Stethoscopes" - }, -/obj/effect/turf_decal/bot_white/left, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) "fOS" = ( /obj/structure/flora/bush/sparsegrass/style_random, /obj/structure/flora/bush/flowers_yw/style_random, @@ -16756,18 +16727,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"gil" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1 - }, -/obj/machinery/airlock_sensor/incinerator_ordmix{ - pixel_x = -24 - }, -/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/science/ordnance/burnchamber) "gip" = ( /obj/structure/table/wood, /obj/machinery/fax{ @@ -17888,6 +17847,22 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"gCE" = ( +/obj/structure/table, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Prison Hallway Port"; + network = list("ss13","prison") + }, +/obj/machinery/light/directional/south, +/obj/item/storage/box/prisoner{ + pixel_y = 8 + }, +/obj/item/storage/box/prisoner, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "gCT" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -18409,6 +18384,13 @@ /obj/structure/fans/tiny, /turf/open/floor/plating, /area/station/science/ordnance/testlab) +"gLJ" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/machinery/vending/medical, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "gLK" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -18996,6 +18978,15 @@ /obj/machinery/light/no_nightlight/directional/north, /turf/open/floor/iron, /area/station/engineering/atmos) +"gYe" = ( +/obj/effect/turf_decal/trimline/purple/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/siding/purple{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/science/explab) "gYi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -19084,16 +19075,6 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/space, /area/space/nearstation) -"gZQ" = ( -/obj/effect/turf_decal/trimline/blue/filled/corner, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/purple/filled/warning{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/science/explab) "gZV" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/wood{ @@ -19810,6 +19791,15 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron/dark, /area/station/command/bridge) +"hmu" = ( +/obj/machinery/modular_computer/preset/cargochat/security{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/filled/end{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/security/brig) "hmy" = ( /obj/machinery/door/window/left/directional/south{ name = "Permabrig Kitchen" @@ -19934,9 +19924,6 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/medical/abandoned) -"hqj" = ( -/turf/closed/wall/r_wall, -/area/station/science/ordnance/burnchamber) "hqr" = ( /obj/machinery/atmospherics/pipe/smart/simple/supply/visible{ dir = 10 @@ -20031,6 +20018,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/service/chapel) +"hsY" = ( +/obj/machinery/igniter/incinerator_ordmix, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance) "hsZ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/wood, @@ -20106,6 +20097,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) +"htN" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_ordmix{ + dir = 8 + }, +/turf/open/floor/engine, +/area/station/science/ordnance) "htO" = ( /obj/structure/chair/office{ dir = 1 @@ -22629,14 +22626,6 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron, /area/station/cargo/warehouse) -"ims" = ( -/obj/machinery/vending/wardrobe/medi_wardrobe, -/obj/effect/turf_decal/bot_white, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/medical/storage) "imt" = ( /obj/effect/turf_decal/trimline/neutral/warning{ dir = 9 @@ -23796,16 +23785,6 @@ /obj/effect/turf_decal/box, /turf/open/floor/iron/dark/smooth_large, /area/station/cargo/bitrunning/den) -"iGT" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/obj/machinery/camera/directional/north{ - c_tag = "Science Research Office"; - network = list("ss13","rd") - }, -/turf/open/floor/iron, -/area/station/science/lab) "iHc" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -23925,34 +23904,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/plating, /area/station/maintenance/solars/port/fore) -"iJx" = ( -/obj/structure/cable, -/obj/structure/table, -/obj/item/clothing/shoes/sneakers/orange{ - pixel_x = -6; - pixel_y = 10 - }, -/obj/item/clothing/shoes/sneakers/orange{ - pixel_x = -6; - pixel_y = -2 - }, -/obj/item/clothing/shoes/sneakers/orange{ - pixel_x = -6; - pixel_y = 4 - }, -/obj/item/clothing/shoes/sneakers/orange{ - pixel_x = -6; - pixel_y = -8 - }, -/obj/item/clothing/under/rank/prisoner{ - pixel_x = 8; - pixel_y = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red/anticorner/contrasted, -/turf/open/floor/iron, -/area/station/security/execution/transfer) "iJC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -25280,6 +25231,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"jei" = ( +/obj/machinery/light/cold/directional/south, +/obj/machinery/newscaster/directional/south, +/obj/effect/turf_decal/bot_white, +/obj/machinery/vending/wardrobe/medi_wardrobe, +/turf/open/floor/iron/dark, +/area/station/medical/storage) "jej" = ( /obj/effect/landmark/event_spawn, /obj/structure/cable, @@ -26027,6 +25985,14 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/iron, /area/station/cargo/warehouse) +"jrJ" = ( +/obj/machinery/atmospherics/components/binary/pump/on, +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/science/ordnance) "jrL" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -26330,18 +26296,6 @@ /obj/machinery/shower/directional/north, /turf/open/floor/iron, /area/station/science/xenobiology) -"jwg" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/red/filled/warning{ - dir = 8 - }, -/obj/machinery/computer/department_orders/security{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/security/brig) "jwj" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /obj/effect/turf_decal/siding/purple{ @@ -27300,6 +27254,26 @@ /obj/structure/railing/corner, /turf/open/floor/plating/airless, /area/space/nearstation) +"jLQ" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/brigdoor/right/directional/north{ + name = "Head of Personnel's Desk"; + req_access = list("hop") + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/left/directional/south{ + name = "Reception Window" + }, +/obj/machinery/door/poddoor/preopen{ + id = "hop"; + name = "Privacy Shutters" + }, +/obj/structure/cable, +/obj/structure/desk_bell{ + pixel_x = 7 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/hop) "jMo" = ( /obj/structure/chair/stool/directional/north, /turf/open/floor/iron, @@ -27633,6 +27607,17 @@ /obj/effect/turf_decal/bot_white, /turf/open/floor/iron, /area/station/cargo/storage) +"jRO" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/obj/machinery/camera/directional/north{ + c_tag = "Science Research Office"; + network = list("ss13","rd") + }, +/obj/effect/turf_decal/trimline/purple/filled/warning, +/turf/open/floor/iron, +/area/station/science/lab) "jRZ" = ( /obj/machinery/door/firedoor, /obj/structure/cable, @@ -28472,10 +28457,6 @@ /obj/effect/turf_decal/tile/green/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/virology) -"kgC" = ( -/obj/machinery/door/poddoor/incinerator_ordmix, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) "kgV" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -29389,11 +29370,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"kyt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/turf/open/floor/iron, -/area/station/maintenance/starboard/greater) "kyQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -29512,6 +29488,25 @@ /obj/structure/chair/comfy/black, /turf/open/floor/iron/dark, /area/station/security/office) +"kBg" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/structure/table, +/obj/item/clothing/under/rank/prisoner/skirt{ + pixel_x = 9; + pixel_y = 5 + }, +/obj/item/clothing/under/rank/prisoner{ + pixel_x = -2; + pixel_y = 5 + }, +/obj/item/clothing/under/rank/prisoner/skirt{ + pixel_x = -13; + pixel_y = 5 + }, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "kBh" = ( /obj/machinery/atmospherics/pipe/layer_manifold/yellow/visible, /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5{ @@ -29636,6 +29631,18 @@ /obj/effect/mapping_helpers/airlock/access/all/security/brig, /turf/open/floor/iron, /area/station/security/brig) +"kDp" = ( +/obj/machinery/light/directional/north, +/obj/structure/sign/warning/secure_area/directional/north, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 1 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/engineering/break_room) "kDG" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -30269,17 +30276,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"kQz" = ( -/obj/structure/table, -/obj/item/storage/box/prisoner{ - pixel_y = 8 - }, -/obj/item/storage/box/prisoner, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/execution/transfer) "kQP" = ( /turf/closed/wall, /area/station/command/heads_quarters/qm) @@ -31051,17 +31047,17 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/engineering/transit_tube) -"leb" = ( -/obj/machinery/power/smes/full, -/obj/structure/cable, -/obj/machinery/light/directional/south, -/turf/open/floor/iron, -/area/station/engineering/gravity_generator) "lek" = ( /obj/machinery/power/smes, /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) +"lew" = ( +/obj/machinery/power/smes/full, +/obj/structure/cable, +/obj/machinery/light/directional/south, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) "leP" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/junction{ dir = 4 @@ -31085,16 +31081,6 @@ }, /turf/open/floor/iron, /area/station/engineering/break_room) -"lfd" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 4 - }, -/obj/machinery/computer/department_orders/engineering, -/turf/open/floor/iron, -/area/station/engineering/break_room) "lfk" = ( /obj/effect/turf_decal/trimline/yellow/filled/end{ dir = 8 @@ -31461,6 +31447,16 @@ "lnc" = ( /turf/closed/wall, /area/station/commons/dorms) +"lnu" = ( +/obj/structure/table, +/obj/item/clipboard, +/obj/item/toy/figure/scientist, +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/trimline/purple/filled/warning{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/science/lab) "lnv" = ( /obj/structure/cable, /obj/machinery/door/airlock/maintenance{ @@ -31874,24 +31870,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation) -"luB" = ( -/obj/machinery/computer/department_orders/medical{ - dir = 1 - }, -/obj/machinery/light/small/directional/south, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/medbay/central) -"luE" = ( -/obj/structure/rack, -/obj/item/integrated_circuit/loaded/hello_world, -/obj/item/storage/toolbox/electrical, -/obj/item/integrated_circuit/loaded/speech_relay, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/white, -/area/station/science/explab) "luF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/disposalpipe/segment{ @@ -34334,22 +34312,6 @@ /obj/item/reagent_containers/cup/beaker/large, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) -"msW" = ( -/obj/machinery/light/directional/north, -/obj/structure/sign/warning/secure_area/directional/north, -/obj/structure/table/glass, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/item/book/manual/wiki/engineering_construction{ - pixel_y = 3 - }, -/obj/item/folder/yellow, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/break_room) "mta" = ( /obj/machinery/camera/directional/north{ c_tag = "Starboard Primary Hallway - tech_storage" @@ -35571,27 +35533,6 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"mME" = ( -/obj/structure/table, -/obj/item/folder/white{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/item/reagent_containers/cup/beaker/large{ - pixel_x = -4; - pixel_y = 7 - }, -/obj/item/reagent_containers/cup/beaker{ - pixel_x = 7 - }, -/obj/item/reagent_containers/dropper{ - pixel_x = -3; - pixel_y = -6 - }, -/obj/machinery/airalarm/directional/north, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron, -/area/station/science/lab) "mMK" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -35777,6 +35718,12 @@ }, /turf/open/floor/wood, /area/station/service/lawoffice) +"mQq" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/bluespace_vendor/directional/east, +/obj/machinery/photobooth, +/turf/open/floor/iron, +/area/station/hallway/secondary/command) "mQr" = ( /turf/open/floor/iron/dark/side{ dir = 1 @@ -36427,6 +36374,33 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/service/hydroponics) +"nbS" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/item/clothing/under/rank/prisoner{ + pixel_x = 8; + pixel_y = 5 + }, +/obj/item/clothing/shoes/sneakers/orange{ + pixel_x = -6; + pixel_y = 10 + }, +/obj/item/clothing/shoes/sneakers/orange{ + pixel_x = -6; + pixel_y = 4 + }, +/obj/item/clothing/shoes/sneakers/orange{ + pixel_x = -6; + pixel_y = -2 + }, +/obj/item/clothing/shoes/sneakers/orange{ + pixel_x = -6; + pixel_y = -8 + }, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "nbT" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -37908,6 +37882,18 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/wood, /area/station/service/bar/backroom) +"nBj" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/turf_decal/siding/purple{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/purple/filled/warning{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/science/explab) "nBp" = ( /obj/structure/sink/directional/east, /obj/effect/spawner/random/trash/mess, @@ -38118,16 +38104,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) -"nEf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/machinery/computer/order_console/cook{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/maintenance/starboard/greater) "nEB" = ( /obj/structure/sign/poster/random/directional/east, /obj/machinery/requests_console/directional/south{ @@ -38200,6 +38176,11 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/medical/medbay/central) +"nGo" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/stool/directional/east, +/turf/open/floor/iron, +/area/station/maintenance/starboard/greater) "nGp" = ( /obj/structure/table, /obj/effect/spawner/random/entertainment/dice, @@ -38633,6 +38614,10 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"nOq" = ( +/obj/machinery/holopad/secure, +/turf/open/floor/carpet, +/area/station/command/heads_quarters/captain/private) "nOv" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red/half/contrasted, @@ -39141,12 +39126,6 @@ /obj/machinery/bookbinder, /turf/open/floor/wood, /area/station/service/library) -"nZL" = ( -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_ordmix{ - dir = 8 - }, -/turf/open/floor/engine, -/area/station/science/ordnance/burnchamber) "nZQ" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -39485,12 +39464,6 @@ /obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, /turf/open/floor/iron, /area/station/service/hydroponics) -"oet" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) "oew" = ( /turf/open/floor/iron, /area/station/commons/fitness/recreation) @@ -39520,21 +39493,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/main) -"ofm" = ( -/obj/structure/table, -/obj/structure/cable, -/obj/item/disk/tech_disk{ - pixel_x = -6 - }, -/obj/item/disk/tech_disk{ - pixel_x = 6 - }, -/obj/item/disk/tech_disk{ - pixel_y = 6 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/iron, -/area/station/science/lab) "ofQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, @@ -40169,6 +40127,27 @@ "otu" = ( /turf/closed/wall, /area/station/service/chapel) +"otB" = ( +/obj/machinery/button/door/directional/east{ + id = "rdrnd"; + name = "Primary Research Shutters Control"; + pixel_y = 6; + req_access = list("science") + }, +/obj/machinery/button/door/directional/east{ + id = "rndlab2"; + name = "Secondary Research Shutters Control"; + pixel_y = -6; + req_access = list("science") + }, +/obj/machinery/modular_computer/preset/cargochat/science{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/science/lab) "otG" = ( /obj/item/radio/intercom/directional/east, /obj/structure/window/spawner/directional/north, @@ -40491,16 +40470,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"oyQ" = ( -/obj/machinery/power/smes{ - capacity = 1.8e+008; - charge = 2e+005 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "oyY" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -40866,6 +40835,15 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"oFT" = ( +/obj/structure/table, +/obj/item/integrated_circuit/loaded/speech_relay, +/obj/item/integrated_circuit/loaded/hello_world{ + pixel_y = 2; + pixel_x = 3 + }, +/turf/open/floor/iron, +/area/station/science/explab) "oFX" = ( /obj/machinery/door/airlock/maintenance{ name = "Ordnance Lab Maintenance" @@ -41736,6 +41714,25 @@ /obj/item/stack/cable_coil, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) +"oXK" = ( +/obj/structure/safe/vault, +/obj/item/storage/briefcase/secure/riches, +/obj/item/storage/backpack/duffelbag/syndie/hitman, +/obj/item/card/id/advanced/silver/reaper, +/obj/item/lazarus_injector, +/obj/item/gun/energy/disabler, +/obj/item/gun/ballistic/revolver/russian, +/obj/item/ammo_box/a357, +/obj/item/clothing/neck/stethoscope, +/obj/item/book{ + desc = "An undeniably handy book."; + icon_state = "bookknock"; + name = "\improper A Simpleton's Guide to Safe-cracking with Stethoscopes" + }, +/obj/effect/turf_decal/bot_white/left, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "oXL" = ( /obj/machinery/disposal/bin, /obj/structure/cable, @@ -43363,10 +43360,6 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron/white, /area/station/medical/office) -"pCa" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, -/turf/closed/wall/r_wall, -/area/station/science/ordnance/burnchamber) "pCh" = ( /obj/machinery/camera/directional/east{ c_tag = "Prison Laundry"; @@ -43469,6 +43462,13 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/iron, /area/station/maintenance/department/engine) +"pDR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/computer/order_console/cook{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/maintenance/starboard/greater) "pDU" = ( /obj/effect/turf_decal/trimline/blue/filled/corner, /obj/structure/disposalpipe/segment{ @@ -43751,6 +43751,14 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos/storage/gas) +"pIz" = ( +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/wood, +/area/station/commons/lounge) "pID" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -44288,6 +44296,17 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"pRC" = ( +/obj/structure/cable, +/obj/structure/table, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/red/anticorner/contrasted, +/obj/item/clothing/gloves/color/orange, +/obj/item/restraints/handcuffs, +/obj/item/reagent_containers/spray/pepper, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "pRM" = ( /obj/machinery/disposal/bin, /obj/machinery/camera/directional/east{ @@ -44732,38 +44751,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/central) -"qaN" = ( -/obj/structure/table/wood, -/obj/machinery/button/ticket_machine{ - pixel_x = 32 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = 6; - pixel_y = -34 - }, -/obj/machinery/button/door/directional/south{ - id = "hop"; - name = "Privacy Shutters Control"; - pixel_x = -6; - req_access = list("hop") - }, -/obj/item/paper_bin/carbon{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/stamp/head/hop{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/machinery/button/door/directional/south{ - id = "hopqueue"; - name = "Queue Shutters Control"; - pixel_x = -6; - pixel_y = -34; - req_access = list("hop") - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hop) "qaP" = ( /obj/effect/turf_decal/plaque{ icon_state = "L3" @@ -44776,6 +44763,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"qaW" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance) "qbr" = ( /obj/structure/bed/medical{ dir = 4 @@ -47694,6 +47687,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/sorting) +"raJ" = ( +/obj/structure/secure_safe/caps_spare, +/obj/structure/table/glass, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "raK" = ( /obj/machinery/portable_atmospherics/canister/nitrous_oxide, /turf/open/floor/iron/dark, @@ -48091,11 +48089,6 @@ dir = 1 }, /area/station/commons/fitness) -"rjy" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/recharge_station, -/turf/open/floor/iron/white, -/area/station/medical/storage) "rjz" = ( /obj/machinery/power/shieldwallgen, /obj/structure/extinguisher_cabinet/directional/west, @@ -48341,12 +48334,6 @@ /obj/effect/spawner/random/trash/caution_sign, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"rop" = ( -/obj/machinery/computer/department_orders/science{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/science/explab) "roF" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/south, @@ -48576,10 +48563,6 @@ }, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) -"rtj" = ( -/obj/machinery/igniter/incinerator_ordmix, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/burnchamber) "rtD" = ( /obj/effect/turf_decal/tile/purple, /obj/machinery/light/directional/east, @@ -49143,6 +49126,15 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"rCx" = ( +/obj/effect/turf_decal/trimline/purple/filled/warning{ + dir = 5 + }, +/obj/effect/turf_decal/siding/purple{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/science/explab) "rCW" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 8; @@ -49291,15 +49283,6 @@ }, /turf/open/floor/wood, /area/station/service/library) -"rFI" = ( -/obj/structure/table/glass, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/computer/security/wooden_tv{ - pixel_x = 1; - pixel_y = 6 - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "rFO" = ( /obj/effect/turf_decal/tile/bar{ dir = 1 @@ -49425,13 +49408,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/station/service/theater) -"rHE" = ( -/obj/structure/table, -/obj/item/clipboard, -/obj/item/toy/figure/scientist, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron, -/area/station/science/lab) "rHZ" = ( /obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, /obj/machinery/atmospherics/components/binary/valve/digital{ @@ -49758,6 +49734,16 @@ }, /turf/open/floor/iron, /area/station/engineering/gravity_generator) +"rMT" = ( +/obj/machinery/power/smes{ + capacity = 1.8e+008; + charge = 2e+005 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "rMZ" = ( /obj/structure/table, /obj/item/folder/blue{ @@ -50231,6 +50217,28 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/lobby) +"rVT" = ( +/obj/structure/table, +/obj/item/folder/white{ + pixel_x = 3; + pixel_y = 4 + }, +/obj/item/reagent_containers/cup/beaker/large{ + pixel_x = -4; + pixel_y = 7 + }, +/obj/item/reagent_containers/cup/beaker{ + pixel_x = 7 + }, +/obj/item/reagent_containers/dropper{ + pixel_x = -3; + pixel_y = -6 + }, +/obj/machinery/airalarm/directional/north, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/trimline/purple/filled/warning, +/turf/open/floor/iron, +/area/station/science/lab) "rVY" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -50327,21 +50335,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/engineering/gravity_generator) -"rYi" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/red/filled/corner{ - dir = 1 - }, -/obj/machinery/button/door/directional/west{ - id = "prison release"; - name = "Labor Camp Shuttle Lockdown"; - req_access = list("brig") - }, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron, -/area/station/security/brig) "rYo" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -51655,14 +51648,6 @@ "syo" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/captain/private) -"syx" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/effect/turf_decal/tile/yellow/half/contrasted, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron, -/area/station/engineering/break_room) "syC" = ( /obj/structure/table/glass, /obj/effect/turf_decal/trimline/purple/corner, @@ -51978,6 +51963,16 @@ /obj/effect/mapping_helpers/airlock/access/any/command/hop, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) +"sDJ" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/machinery/modular_computer/preset/cargochat/medical{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/medbay/central) "sDK" = ( /obj/machinery/flasher/portable, /obj/item/radio/intercom/directional/east, @@ -53061,6 +53056,12 @@ }, /turf/open/floor/plating, /area/station/cargo/sorting) +"sVx" = ( +/obj/machinery/power/smes/full, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/storage/satellite) "sVz" = ( /obj/machinery/airalarm/directional/west, /obj/machinery/modular_computer/preset/command, @@ -53284,15 +53285,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/wood/large, /area/station/service/theater) -"sZi" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/modular_computer/preset/cargochat/service{ - dir = 8 - }, -/obj/structure/sign/poster/random/directional/east, -/obj/machinery/light/cold/directional/east, -/turf/open/floor/iron, -/area/station/maintenance/starboard/greater) "sZo" = ( /obj/machinery/light/directional/north, /obj/structure/reagent_dispensers/watertank/high, @@ -53442,6 +53434,10 @@ /obj/structure/bookcase/random/nonfiction, /turf/open/floor/wood, /area/station/service/library) +"tcd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/closed/wall/r_wall, +/area/station/science/ordnance) "tck" = ( /obj/structure/extinguisher_cabinet/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -53670,13 +53666,6 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"tgn" = ( -/obj/machinery/vending/medical, -/obj/machinery/light/cold/directional/south, -/obj/machinery/newscaster/directional/south, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron/dark, -/area/station/medical/storage) "tgo" = ( /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -54112,10 +54101,12 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"tnV" = ( -/obj/machinery/holopad/secure, -/turf/open/floor/carpet, -/area/station/command/heads_quarters/captain/private) +"tnR" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/ordnance_burn_chamber_input{ + dir = 1 + }, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance) "tot" = ( /obj/structure/table/wood, /obj/item/paper_bin{ @@ -54984,13 +54975,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/prison) -"tHk" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/computer/department_orders/service{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/maintenance/starboard/greater) "tHE" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -55072,23 +55056,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) -"tIv" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/brigdoor/right/directional/north{ - name = "Head of Personnel's Desk"; - req_access = list("hop") - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/left/directional/south{ - name = "Reception Window" - }, -/obj/machinery/door/poddoor/preopen{ - id = "hop"; - name = "Privacy Shutters" - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/command/heads_quarters/hop) "tIx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/disposalpipe/segment{ @@ -55314,6 +55281,24 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"tLH" = ( +/obj/structure/table, +/obj/structure/cable, +/obj/item/disk/tech_disk{ + pixel_x = -6 + }, +/obj/item/disk/tech_disk{ + pixel_x = 6 + }, +/obj/item/disk/tech_disk{ + pixel_y = 6 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/turf_decal/trimline/purple/filled/warning{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/science/lab) "tLN" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -55718,6 +55703,15 @@ /obj/effect/spawner/random/engineering/vending_restock, /turf/open/floor/plating, /area/station/maintenance/port) +"tTL" = ( +/obj/structure/table/glass, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/computer/security/wooden_tv{ + pixel_x = 1; + pixel_y = 6 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "tTP" = ( /obj/structure/rack, /obj/effect/turf_decal/tile/blue/half/contrasted{ @@ -55903,6 +55897,17 @@ /obj/structure/table/wood, /turf/open/floor/carpet, /area/station/service/chapel/funeral) +"tVC" = ( +/obj/machinery/power/smes/full, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/flasher/directional/north{ + id = "AI"; + pixel_x = -22 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai) "tVG" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/machinery/firealarm/directional/north, @@ -57189,6 +57194,17 @@ }, /turf/open/floor/iron, /area/station/commons/locker) +"usQ" = ( +/obj/item/folder/white{ + pixel_x = 4; + pixel_y = -3 + }, +/obj/structure/table/glass, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "uta" = ( /obj/structure/rack, /obj/item/book/manual/wiki/security_space_law{ @@ -57396,23 +57412,6 @@ }, /turf/open/floor/iron, /area/station/engineering/break_room) -"uwC" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = -4; - pixel_y = 3 - }, -/obj/effect/turf_decal/delivery, -/obj/machinery/bluespace_vendor/directional/east, -/obj/structure/desk_bell{ - pixel_x = 7 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/command) "uwK" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -57887,40 +57886,6 @@ /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron, /area/station/engineering/break_room) -"uFK" = ( -/obj/structure/table, -/obj/item/clothing/under/rank/prisoner/skirt{ - pixel_x = -13; - pixel_y = 5 - }, -/obj/item/clothing/under/rank/prisoner/skirt{ - pixel_x = 9; - pixel_y = 5 - }, -/obj/item/clothing/under/rank/prisoner{ - pixel_x = -2; - pixel_y = 5 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/security/execution/transfer) -"uFM" = ( -/obj/machinery/airalarm/directional/east, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron, -/area/station/cargo/storage) "uFQ" = ( /obj/machinery/computer/cargo/request{ dir = 8 @@ -59380,6 +59345,14 @@ /obj/machinery/vending/coffee, /turf/open/floor/iron/dark, /area/station/security/courtroom) +"vfO" = ( +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow/half/contrasted, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron, +/area/station/engineering/break_room) "vfU" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners{ dir = 1 @@ -60436,10 +60409,6 @@ /obj/effect/spawner/random/bureaucracy/paper, /turf/open/floor/plating, /area/station/maintenance/port) -"vxa" = ( -/mob/living/simple_animal/slime, -/turf/open/floor/engine, -/area/station/science/xenobiology) "vxi" = ( /obj/machinery/light/directional/east, /obj/effect/turf_decal/stripes/line{ @@ -60769,6 +60738,18 @@ }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) +"vCR" = ( +/obj/effect/turf_decal/trimline/purple/filled/warning{ + dir = 1 + }, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high, +/obj/effect/turf_decal/siding/purple{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/science/explab) "vDc" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -61203,6 +61184,18 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"vJs" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1 + }, +/obj/machinery/airlock_sensor/incinerator_ordmix{ + pixel_x = -24 + }, +/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/science/ordnance) "vJy" = ( /obj/structure/rack, /obj/item/stack/sheet/cardboard, @@ -61225,6 +61218,14 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"vJN" = ( +/obj/machinery/door/airlock/research/glass/incinerator/ordmix_exterior{ + name = "Burn Chamber Exterior Airlock" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance) "vJX" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -61425,6 +61426,10 @@ }, /turf/open/space, /area/space/nearstation) +"vOe" = ( +/obj/machinery/door/poddoor/incinerator_ordmix, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance) "vOh" = ( /obj/effect/turf_decal/stripes/end, /turf/open/floor/plating/airless, @@ -63055,6 +63060,16 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) +"wqH" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 8 + }, +/obj/machinery/photobooth/security, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "wqJ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -63999,18 +64014,6 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron, /area/station/engineering/atmos) -"wIr" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/red/filled/warning{ - dir = 10 - }, -/obj/machinery/modular_computer/preset/cargochat/security{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/security/brig) "wIB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/closed/wall/r_wall, @@ -65130,17 +65133,6 @@ /obj/machinery/light/cold/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/foyer) -"xdy" = ( -/obj/item/folder/white{ - pixel_x = 4; - pixel_y = -3 - }, -/obj/structure/table/glass, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "xdF" = ( /obj/structure/girder, /turf/open/floor/plating, @@ -67842,18 +67834,6 @@ /obj/item/pipe_dispenser, /turf/open/floor/iron, /area/station/engineering/main) -"yaH" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/purple/filled/warning{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/science/explab) "yaO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -87600,7 +87580,7 @@ ivX bgx edA fkC -uFM +dBv cdY wUC dfk @@ -88687,7 +88667,7 @@ kcZ dMN ejg ehX -tgn +jei vun rtX tFr @@ -88944,7 +88924,7 @@ ver elb sja elb -ims +fev rvb jGt tFr @@ -89458,7 +89438,7 @@ mhm xjg foP sRm -rjy +dKm rvb myc tFr @@ -89977,7 +89957,7 @@ rvb nsD tFr nMf -dub +gLJ uYp kbB cpR @@ -90159,7 +90139,7 @@ rlU vis mCi ixT -fOC +oXK rlU aaa aEH @@ -90234,7 +90214,7 @@ vun gQG tFr oqi -luB +sDJ uYp pCl qOV @@ -92270,7 +92250,7 @@ jJd rqc umS qPJ -bip +bgS taO dlH jsP @@ -92982,7 +92962,7 @@ sch pHb guS vVy -rYi +cxq wsX iLH aXF @@ -93220,7 +93200,7 @@ aBL aBL aBL aBL -uFK +wqH cWI gYi eOs @@ -93274,7 +93254,7 @@ gvl hip fJp wBu -tIv +jLQ fgS jrk dhX @@ -93475,9 +93455,9 @@ yey gnB jYD aDU -buw -kQz -iJx +nbS +kBg +pRC feY gYi wsX @@ -93530,9 +93510,9 @@ pJR lJn psy htG -qaN +bIq pJR -uwC +mQq ndS urA pFG @@ -93993,7 +93973,7 @@ gYi gYi gYi cWI -akT +gCE lAM osw lAM @@ -94551,7 +94531,7 @@ tKN aaf dsQ mZL -xdy +usQ aGQ acf hmq @@ -96096,7 +96076,7 @@ owv dUj gGy dMY -cge +raJ nEC qMf duI @@ -96353,7 +96333,7 @@ vSh gGy gGy dMY -rFI +tTL den fhD duI @@ -97090,8 +97070,8 @@ ltb hXJ vQW ahj -jwg -wIr +hmu +duF cJj erx lsP @@ -98412,7 +98392,7 @@ tyY aPs cUX guO -tnV +nOq xDa vwP xDa @@ -99204,7 +99184,7 @@ htd saU tgI mvR -iGT +jRO bPi gpB sky @@ -99461,7 +99441,7 @@ htd saU ooP mvR -mME +rVT iQi fGv knY @@ -99718,11 +99698,11 @@ htd dhU dkW mvR -bgn -ofm -rHE -dbd -bfd +bXc +tLH +lnu +otB +bdv jXK sQB gLU @@ -99756,11 +99736,11 @@ fhi uEo fiS gyQ -eRn -hqj -hqj -hqj -hqj +tcd +gyQ +gyQ +gyQ +gyQ lMJ uGg nFa @@ -100013,11 +99993,11 @@ fhi xEU iqx xYZ -gil -deY -oet -dXU -kgC +vJs +xYZ +qaW +fpM +vOe lMJ uGg nFa @@ -100270,11 +100250,11 @@ fhi fhi twy nJA -nZL -bEv -cgP -rtj -kgC +htN +vJN +dke +hsY +vOe lMJ uGg nFa @@ -100527,11 +100507,11 @@ jvo aHH iYE dTN -dEF -pCa -cOT -dXU -kgC +jrJ +dTN +tnR +fpM +vOe lMJ uGg wpn @@ -101265,10 +101245,10 @@ qOM tUn ftj wXF -fNE +doM tZo -cCx -rop +vCR +oFT gvS oYZ oYZ @@ -101522,11 +101502,11 @@ kMG tUn hKV wXF -luE +cjD dJo -cnu -yaH -gZQ +rCx +nBj +gYe vQb mdu xPm @@ -103549,7 +103529,7 @@ vFB fRS mjs bvJ -bCC +pIz hNn fSd fSd @@ -106906,8 +106886,8 @@ glP deX rJk ofe -nEf -kyt +bxO +nGo aBM unL lPy @@ -107421,8 +107401,8 @@ gIS xNG gYV lFo -sZi -tHk +dQy +pDR unL hLs enf @@ -108713,7 +108693,7 @@ unL sfz wao hum -oyQ +rMT svK yec xhb @@ -110743,7 +110723,7 @@ qsv bjH bbi lwm -syx +vfO khu kPw fKZ @@ -110997,7 +110977,7 @@ vSC eKw vPV qsv -lfd +aYk eup lwm xGa @@ -111254,7 +111234,7 @@ bDW bDW bDW fJy -msW +kDp ayr dRA wCe @@ -111482,7 +111462,7 @@ bhM gTh oTR jYI -leb +lew tCS psZ tCS @@ -112074,7 +112054,7 @@ aaa aaa cXP mtu -vxa +aTs mtu jfS bQQ @@ -112084,7 +112064,7 @@ iWc ces elm mtu -vxa +aTs mtu cXP aaa @@ -115679,7 +115659,7 @@ mtu kbz gva fff -vxa +aTs kbz fff mtu @@ -123324,7 +123304,7 @@ qyc jZC pan mbS -eLc +tVC mCL aWO aYz @@ -124363,7 +124343,7 @@ aTV aTV aTV ldP -cYZ +sVx pWR lnX asz diff --git a/_maps/map_files/NSVBlueshift/Blueshift.dmm b/_maps/map_files/NSVBlueshift/Blueshift.dmm index 1ae4ab073e2..abfd57468a3 100644 --- a/_maps/map_files/NSVBlueshift/Blueshift.dmm +++ b/_maps/map_files/NSVBlueshift/Blueshift.dmm @@ -3045,7 +3045,7 @@ /turf/open/floor/iron/dark, /area/station/science/genetics) "aFb" = ( -/obj/machinery/modular_computer/preset/cargochat, +/obj/structure/reagent_dispensers/water_cooler, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) "aFf" = ( @@ -4777,9 +4777,6 @@ /obj/effect/turf_decal/trimline/purple/filled/warning{ dir = 9 }, -/obj/machinery/computer/department_orders/science{ - dir = 1 - }, /turf/open/floor/iron, /area/station/science/lab) "aXj" = ( @@ -36322,7 +36319,6 @@ /obj/effect/turf_decal/bot, /obj/effect/turf_decal/loading_area, /obj/structure/disposalpipe/segment, -/obj/machinery/computer/department_orders/security, /turf/open/floor/iron/dark/corner{ dir = 4 }, @@ -50159,9 +50155,6 @@ /area/station/security/brig) "jDW" = ( /obj/structure/window/spawner/directional/south, -/obj/machinery/computer/department_orders/service{ - dir = 1 - }, /turf/open/floor/iron/dark/side, /area/station/hallway/secondary/service) "jEg" = ( @@ -51527,7 +51520,7 @@ /area/station/science/ordnance) "jQV" = ( /obj/machinery/light/small/directional/north, -/mob/living/simple_animal/slime, +/mob/living/basic/slime, /turf/open/floor/engine, /area/station/science/xenobiology) "jQX" = ( @@ -65893,9 +65886,6 @@ /turf/open/floor/iron/dark, /area/station/science/cytology) "mER" = ( -/obj/machinery/computer/department_orders/engineering{ - dir = 8 - }, /obj/machinery/light/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/break_room) @@ -67158,7 +67148,7 @@ /obj/structure/closet/athletic_mixed, /obj/item/clothing/mask/animal/frog, /obj/item/clothing/head/helmet/skull, -/obj/item/clothing/head/costume/jester/alt, +/obj/item/clothing/head/costume/jesteralt, /obj/item/clothing/head/costume/ushanka, /obj/item/clothing/mask/gas/soviet, /obj/item/clothing/mask/luchador/rudos, @@ -81403,7 +81393,7 @@ /area/station/hallway/primary/upper) "pCC" = ( /obj/machinery/light/small/directional/south, -/mob/living/simple_animal/slime, +/mob/living/basic/slime, /turf/open/floor/engine, /area/station/science/xenobiology) "pCO" = ( @@ -87405,6 +87395,17 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, /area/station/maintenance/department/science/upper) +"qHD" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/machinery/modular_computer/preset/cargochat/security, +/obj/effect/turf_decal/stripes/blue/line{ + dir = 5 + }, +/turf/open/floor/iron/dark, +/area/station/security/office) "qHE" = ( /obj/structure/rack, /obj/item/clothing/shoes/winterboots, @@ -117832,7 +117833,6 @@ /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 6 }, -/obj/machinery/computer/department_orders/medical, /obj/machinery/digital_clock/directional/north, /turf/open/floor/iron, /area/station/medical/break_room) @@ -121725,9 +121725,7 @@ /obj/machinery/computer/records/security, /obj/machinery/light/directional/north, /obj/machinery/status_display/evac/directional/north, -/obj/effect/turf_decal/stripes/blue/line{ - dir = 5 - }, +/obj/effect/turf_decal/stripes/blue/line, /turf/open/floor/iron/dark, /area/station/security/office) "xhc" = ( @@ -159692,7 +159690,7 @@ tdv tdv cnP nOi -xTt +qHD xTt kRU ugJ diff --git a/_maps/map_files/NorthStar/north_star.dmm b/_maps/map_files/NorthStar/north_star.dmm index 61b31bf7b2e..2e62e13527d 100644 --- a/_maps/map_files/NorthStar/north_star.dmm +++ b/_maps/map_files/NorthStar/north_star.dmm @@ -554,13 +554,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor1/port/fore) -"agJ" = ( -/obj/machinery/modular_computer/preset/cargochat/science, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/effect/turf_decal/stripes/white/line, -/turf/open/floor/iron/dark, -/area/station/science/circuits) "agK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -807,6 +800,16 @@ /obj/structure/table, /turf/open/floor/iron/dark, /area/station/commons/storage/primary) +"ajz" = ( +/obj/structure/railing/corner, +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/filled/corner, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/dark/textured, +/area/station/commons/fitness) "ajB" = ( /obj/effect/spawner/random/trash/mopbucket, /obj/effect/spawner/random/trash/soap, @@ -947,6 +950,12 @@ /obj/effect/turf_decal/tile/purple/opposingcorners, /turf/open/floor/iron/white, /area/station/command/heads_quarters/rd) +"alL" = ( +/obj/machinery/light/floor, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/hallway/floor2/fore) "amg" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/east, @@ -1289,6 +1298,15 @@ /obj/item/clothing/mask/facehugger/toy, /turf/open/floor/pod/light, /area/station/maintenance/floor1/starboard) +"aqm" = ( +/obj/machinery/door/firedoor/border_only, +/obj/structure/railing, +/obj/effect/turf_decal/box/red, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "aqu" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/disposalpipe/segment{ @@ -2398,14 +2416,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/lab) -"aFI" = ( -/obj/machinery/computer/department_orders/medical{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/light/cold/directional/south, -/turf/open/floor/iron/white/textured, -/area/station/medical/break_room) "aFJ" = ( /obj/machinery/button/door/directional/north{ id = "sm_bolt"; @@ -2415,6 +2425,14 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter) +"aFM" = ( +/obj/machinery/light/directional/east, +/obj/machinery/disposal/bin/tagger, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/security/office) "aFQ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/delivery, @@ -2427,13 +2445,6 @@ }, /turf/open/floor/pod, /area/station/maintenance/floor4/port/fore) -"aGj" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/effect/turf_decal/stripes/white/line, -/obj/machinery/bci_implanter, -/turf/open/floor/iron/dark, -/area/station/science/circuits) "aGm" = ( /obj/structure/chair/comfy/black{ dir = 4 @@ -2479,13 +2490,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/floor2/port/aft) -"aGG" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/turf/open/floor/iron/half{ - dir = 1 - }, -/area/station/engineering/lobby) "aGH" = ( /turf/open/floor/plating, /area/station/maintenance/floor3/starboard/fore) @@ -3391,6 +3395,12 @@ /obj/effect/spawner/random/trash/cigbutt, /turf/open/floor/iron/dark, /area/station/maintenance/floor2/starboard/aft) +"aSI" = ( +/obj/machinery/shower/directional/west, +/obj/structure/fluff/shower_drain, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/iron/white/small, +/area/station/commons/fitness/recreation) "aSK" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/pod/light, @@ -4318,23 +4328,6 @@ }, /turf/open/floor/iron, /area/station/construction/mining/aux_base) -"bdQ" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/turf_decal/trimline/white/filled/line{ - color = "#065C93"; - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/command/bridge) "bdR" = ( /obj/effect/turf_decal/trimline/green/line, /obj/effect/turf_decal/trimline/green/line{ @@ -4579,10 +4572,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/psychology) -"bgq" = ( -/obj/machinery/bluespace_vendor/directional/west, -/turf/open/floor/iron/dark, -/area/station/hallway/floor2/fore) "bgr" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/textured_corner, @@ -5038,16 +5027,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/floor2/fore) -"bkJ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/sign/poster/official/random/directional/south, -/turf/open/floor/iron/dark/side, -/area/station/hallway/floor1/fore) "bkM" = ( /obj/effect/landmark/start/ai/secondary, /obj/item/radio/intercom/directional/north{ @@ -6386,6 +6365,10 @@ /obj/structure/sink/kitchen/directional/south, /turf/open/floor/iron/dark/smooth_large, /area/station/service/bar) +"bzB" = ( +/mob/living/basic/slime, +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "bzF" = ( /obj/effect/turf_decal/delivery, /obj/structure/table/reinforced, @@ -6635,16 +6618,6 @@ /obj/item/stack/rods/ten, /turf/open/floor/pod/light, /area/station/maintenance/floor1/port) -"bDf" = ( -/obj/effect/turf_decal/trimline/red/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/line{ - dir = 8 - }, -/obj/machinery/light/floor, -/turf/open/floor/iron/dark, -/area/station/hallway/floor4/aft) "bDg" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -6995,6 +6968,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/medical/abandoned) +"bJA" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "bJQ" = ( /obj/structure/railing/corner{ dir = 1 @@ -7376,6 +7356,14 @@ /obj/effect/spawner/random/maintenance/two, /turf/open/floor/pod/light, /area/station/maintenance/floor4/starboard) +"bPh" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 5 + }, +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron, +/area/station/hallway/floor3/aft) "bPq" = ( /obj/effect/spawner/random/structure/grille, /obj/structure/disposalpipe/segment{ @@ -7967,13 +7955,6 @@ /obj/structure/sign/poster/official/cleanliness/directional/east, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/secondary/entry) -"bWZ" = ( -/obj/structure/sign/poster/contraband/hacking_guide/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/machinery/duct, -/turf/open/floor/iron/dark/textured, -/area/station/commons/fitness) "bXd" = ( /obj/effect/turf_decal/trimline/purple/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -8058,13 +8039,6 @@ dir = 1 }, /area/station/hallway/floor2/aft) -"bYl" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/manifold/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/freezerchamber) "bYp" = ( /obj/structure/rack, /obj/effect/spawner/random/engineering/material, @@ -10361,12 +10335,6 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/medical/morgue) -"cBP" = ( -/obj/effect/spawner/structure/window/hollow/plasma/middle{ - dir = 4 - }, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/freezerchamber) "cBU" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/flora/bush/sunny/style_random, @@ -11164,6 +11132,14 @@ }, /turf/open/floor/iron/smooth_large, /area/station/hallway/secondary/entry) +"cMz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/bluespace_vendor/directional/south, +/turf/open/floor/iron/dark/side, +/area/station/hallway/floor2/aft) "cMA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -11472,6 +11448,12 @@ }, /turf/open/floor/iron/white, /area/station/science/lobby) +"cRe" = ( +/obj/machinery/status_display/ai/directional/north, +/obj/structure/secure_safe/caps_spare, +/obj/structure/table/reinforced, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "cRs" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, @@ -12188,6 +12170,23 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"cZT" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/machinery/computer/order_console/cook{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/service) +"daa" = ( +/obj/machinery/camera/motion/directional/north{ + c_tag = "Minisat North" + }, +/obj/machinery/power/smes/full, +/obj/structure/cable, +/turf/open/floor/circuit, +/area/station/ai_monitored/turret_protected/aisat/service) "dab" = ( /obj/effect/spawner/random/trash/garbage{ spawn_scatter_radius = 1 @@ -12764,13 +12763,6 @@ "diA" = ( /turf/closed/wall, /area/station/service/kitchen/coldroom) -"diE" = ( -/obj/machinery/light/floor, -/obj/machinery/bluespace_vendor/directional/north, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/hallway/floor4/aft) "diS" = ( /obj/machinery/door/airlock/freezer{ name = "Bathroom" @@ -13002,13 +12994,6 @@ "dmU" = ( /turf/open/floor/iron/dark/side, /area/station/hallway/secondary/entry) -"dmZ" = ( -/obj/machinery/modular_computer/preset/cargochat/medical{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/white/textured, -/area/station/medical/break_room) "dnx" = ( /obj/structure/girder, /turf/open/floor/plating, @@ -13777,6 +13762,11 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/medical/office) +"dya" = ( +/obj/effect/turf_decal/tile/purple/opposingcorners, +/obj/structure/table, +/turf/open/floor/iron/white, +/area/station/science/circuits) "dyk" = ( /obj/structure/transit_tube/station/dispenser{ dir = 8 @@ -14957,12 +14947,6 @@ /obj/structure/frame/machine, /turf/open/floor/engine, /area/station/maintenance/floor1/port/aft) -"dNU" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/turf/open/floor/iron/dark, -/area/station/hallway/floor4/fore) "dOa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -15887,19 +15871,6 @@ /obj/structure/hedge, /turf/open/floor/iron/dark, /area/station/science/breakroom) -"dZZ" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/machinery/newscaster/directional/south, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron/dark/side{ - dir = 10 - }, -/area/station/hallway/secondary/exit/departure_lounge) "eac" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16509,21 +16480,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/side, /area/station/command/teleporter) -"ehZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/table/reinforced, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/dark_blue/end{ - dir = 8 - }, -/obj/item/storage/toolbox/emergency, -/obj/machinery/bluespace_vendor/directional/south, -/turf/open/floor/iron/dark, -/area/station/commons/storage/tools) "eir" = ( /obj/machinery/door/airlock/hatch{ name = "Maintenance Access" @@ -16931,6 +16887,15 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/engine, /area/station/maintenance/floor4/starboard/aft) +"enl" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/service) "enp" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -16971,14 +16936,6 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat) -"enP" = ( -/obj/machinery/module_duplicator, -/obj/effect/turf_decal/tile/purple/opposingcorners, -/obj/effect/turf_decal/siding/brown{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/science/circuits) "enX" = ( /obj/effect/turf_decal/weather/dirt{ dir = 5 @@ -17578,11 +17535,6 @@ dir = 8 }, /area/station/security/office) -"exv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/purple, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "exw" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -18632,6 +18584,12 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/engineering/lobby) +"eLS" = ( +/obj/effect/turf_decal/tile/purple/opposingcorners, +/obj/item/radio/intercom/directional/south, +/obj/machinery/bci_implanter, +/turf/open/floor/iron/white, +/area/station/science/circuits) "eMg" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -18760,14 +18718,10 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/storage) -"eOO" = ( -/obj/machinery/camera/motion/directional/north{ - c_tag = "Minisat North" - }, -/obj/machinery/power/smes/full, -/obj/structure/cable, -/turf/open/floor/circuit, -/area/station/ai_monitored/turret_protected/aisat/service) +"eOC" = ( +/obj/machinery/bluespace_vendor/directional/north, +/turf/open/floor/iron/dark, +/area/station/hallway/floor3/fore) "eOP" = ( /turf/closed/wall/r_wall, /area/station/hallway/floor4/aft) @@ -18968,6 +18922,14 @@ /obj/machinery/duct, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) +"eSq" = ( +/obj/structure/railing/corner, +/obj/machinery/atmospherics/pipe/smart/simple/purple, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "eSw" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair/stool/directional/south, @@ -20754,6 +20716,17 @@ "fsJ" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/ai_upload) +"fsK" = ( +/obj/effect/turf_decal/trimline/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/line{ + dir = 8 + }, +/obj/effect/landmark/start/hangover, +/obj/machinery/light/floor, +/turf/open/floor/iron/dark, +/area/station/hallway/floor4/aft) "fsR" = ( /obj/item/kirbyplants/random, /obj/machinery/light/directional/east, @@ -20941,16 +20914,6 @@ /obj/machinery/shieldgen, /turf/open/floor/iron/smooth, /area/station/cargo/warehouse) -"fvj" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/machinery/status_display/ai/directional/west, -/obj/structure/table/reinforced/titaniumglass, -/obj/item/maneki_neko{ - pixel_y = 4 - }, -/turf/open/floor/circuit, -/area/station/ai_monitored/command/nuke_storage) "fvr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/side{ @@ -21367,16 +21330,6 @@ /obj/structure/stairs/north, /turf/open/floor/iron/white/small, /area/station/medical/chemistry) -"fCl" = ( -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 8 - }, -/obj/machinery/light/floor, -/turf/open/floor/iron/dark, -/area/station/hallway/floor1/fore) "fCp" = ( /turf/open/floor/plating/airless, /area/space) @@ -21556,6 +21509,14 @@ }, /turf/open/floor/iron, /area/station/engineering/gravity_generator) +"fDZ" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/light/cold/directional/south, +/obj/machinery/modular_computer/preset/cargochat/medical{ + dir = 1 + }, +/turf/open/floor/iron/white/textured, +/area/station/medical/break_room) "fEj" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 1 @@ -21842,14 +21803,6 @@ /obj/machinery/newscaster/directional/south, /turf/open/floor/carpet/royalblack, /area/station/service/kitchen/diner) -"fIb" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 5 - }, -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron, -/area/station/hallway/floor3/aft) "fIg" = ( /obj/machinery/door/firedoor, /turf/open/floor/pod/light, @@ -22138,14 +22091,6 @@ }, /turf/open/floor/pod/dark, /area/station/maintenance/floor3/starboard) -"fLX" = ( -/obj/structure/railing/corner, -/obj/machinery/atmospherics/pipe/smart/simple/purple, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer4{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "fMc" = ( /obj/machinery/airalarm/directional/west, /obj/effect/turf_decal/stripes{ @@ -22193,12 +22138,6 @@ /obj/effect/spawner/random/maintenance/two, /turf/open/floor/pod/light, /area/station/maintenance/floor4/starboard/aft) -"fMX" = ( -/obj/machinery/shower/directional/east, -/obj/item/bikehorn/rubberducky, -/obj/structure/fluff/shower_drain, -/turf/open/floor/iron/white/small, -/area/station/commons/fitness/recreation) "fMY" = ( /obj/effect/turf_decal/tile/green/full, /obj/structure/railing/corner{ @@ -22397,12 +22336,6 @@ /obj/structure/flora/bush/lavendergrass/style_random, /turf/open/floor/grass, /area/station/security/courtroom) -"fPd" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer4{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "fPf" = ( /obj/effect/turf_decal/tile/blue/half, /turf/open/floor/iron/textured_edge, @@ -22845,6 +22778,14 @@ /obj/structure/sign/poster/random/directional/east, /turf/open/floor/iron, /area/station/service/hydroponics/garden/abandoned) +"fVi" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/machinery/light/cold/no_nightlight/directional/north, +/obj/machinery/module_duplicator, +/turf/open/floor/iron/dark, +/area/station/science/circuits) "fVq" = ( /obj/structure/chair/sofa/bench/right{ dir = 8 @@ -24421,13 +24362,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/smooth_large, /area/station/maintenance/floor2/starboard/aft) -"gqN" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/service) "gqO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -24442,16 +24376,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/floor2/starboard/fore) -"gqT" = ( -/obj/effect/turf_decal/trimline/blue/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/purple/line{ - dir = 8 - }, -/obj/machinery/light/floor, -/turf/open/floor/iron/dark, -/area/station/hallway/floor2/fore) "gqU" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -24777,12 +24701,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor/iron_white, /area/station/medical/abandoned) -"gvo" = ( -/obj/machinery/light/floor, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/hallway/floor3/fore) "gvp" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, @@ -24834,6 +24752,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plastic, /area/station/security/prison/shower) +"gvV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/iron/dark/textured, +/area/station/commons/fitness) "gvX" = ( /obj/structure/sign/poster/official/random/directional/east, /turf/open/floor/iron/dark/side{ @@ -24963,13 +24887,6 @@ /obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron/dark/side, /area/station/hallway/floor2/fore) -"gxE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/bluespace_vendor/directional/north, -/turf/open/floor/iron, -/area/station/hallway/floor1/aft) "gxH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -25068,11 +24985,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) -"gyE" = ( -/obj/machinery/power/smes/full, -/obj/structure/cable, -/turf/open/floor/circuit, -/area/station/ai_monitored/turret_protected/aisat/service) "gyG" = ( /obj/effect/spawner/structure/window/hollow/directional{ dir = 8 @@ -25577,6 +25489,17 @@ /obj/machinery/door/firedoor/border_only, /turf/open/floor/pod/dark, /area/station/maintenance/floor2/starboard/aft) +"gFT" = ( +/obj/machinery/firealarm/directional/south, +/obj/machinery/camera/directional/south{ + c_tag = "Security - Office Aft" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/tile/red/fourcorners, +/turf/open/floor/iron/dark, +/area/station/security/office) "gGe" = ( /obj/machinery/telecomms/bus/preset_one, /turf/open/floor/circuit/telecomms, @@ -26199,6 +26122,21 @@ /obj/item/reagent_containers/spray/cleaner, /turf/open/floor/carpet/royalblue, /area/station/medical/break_room) +"gNL" = ( +/obj/item/radio/intercom/directional/east, +/obj/machinery/button/door/directional/south{ + id = "secmechbay"; + name = "Security Mech Garage Door Controls"; + req_access = list("security") + }, +/obj/effect/turf_decal/trimline/brown/filled/end{ + dir = 8 + }, +/obj/machinery/modular_computer/preset/cargochat/security{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/security/office) "gNN" = ( /turf/open/floor/pod/dark, /area/station/maintenance/floor1/starboard) @@ -26663,6 +26601,10 @@ }, /turf/open/floor/iron/textured_large, /area/station/cargo/warehouse) +"gUT" = ( +/mob/living/basic/slime, +/turf/open/floor/grass, +/area/station/maintenance/floor3/starboard) "gUX" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -26913,6 +26855,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/storage) +"gYI" = ( +/obj/structure/fluff/shower_drain, +/obj/machinery/duct, +/turf/open/floor/iron/showroomfloor{ + name = "bathroom tiles" + }, +/area/station/security/lockers) "gYN" = ( /obj/machinery/airalarm/directional/west, /obj/item/kirbyplants/random, @@ -27045,6 +26994,11 @@ /obj/item/flashlight/lamp/green, /turf/open/floor/wood/tile, /area/station/service/library) +"hax" = ( +/obj/machinery/photobooth, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron/dark, +/area/station/hallway/floor4/fore) "haB" = ( /obj/effect/turf_decal/siding/wood, /obj/machinery/iv_drip, @@ -27410,6 +27364,12 @@ /obj/machinery/hydroponics/constructable, /turf/open/floor/iron, /area/station/service/hydroponics) +"heI" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "heR" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -29009,6 +28969,13 @@ /obj/structure/flora/bush/style_random, /turf/open/floor/grass, /area/station/security/courtroom) +"hAH" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/simple/purple, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "hAI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -29059,6 +29026,26 @@ /obj/structure/stairs/west, /turf/open/floor/pod/light, /area/station/maintenance/floor1/port) +"hAV" = ( +/obj/structure/table, +/obj/machinery/button/ticket_machine{ + pixel_x = -24; + pixel_y = -6 + }, +/obj/item/stamp/head/hop{ + pixel_x = 8; + pixel_y = 5 + }, +/obj/item/flashlight/lamp{ + pixel_x = -4; + pixel_y = 3 + }, +/obj/machinery/button/photobooth{ + pixel_y = 6; + pixel_x = -24 + }, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/hop) "hBe" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/white, @@ -29442,6 +29429,14 @@ /obj/effect/landmark/blobstart, /turf/open/floor/pod/light, /area/station/maintenance/floor4/starboard) +"hGC" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/junction/layer2{ + dir = 1 + }, +/obj/effect/spawner/structure/window/hollow/plasma/middle, +/obj/machinery/atmospherics/pipe/smart/simple/purple, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/freezerchamber) "hGL" = ( /obj/machinery/light/small/directional/north, /obj/effect/decal/cleanable/dirt, @@ -29900,20 +29895,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/textured_large, /area/station/cargo/storage) -"hLW" = ( -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/duct, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/dark, -/area/station/security/office) "hLX" = ( /turf/open/floor/iron/white/small, /area/station/medical/chemistry) @@ -29988,6 +29969,13 @@ /obj/structure/fans/tiny, /turf/open/floor/plating, /area/station/science/ordnance/storage) +"hNr" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/structure/table, +/turf/open/floor/iron/dark, +/area/station/science/circuits) "hNz" = ( /obj/effect/turf_decal/tile/brown{ dir = 8 @@ -31337,13 +31325,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/station/security/checkpoint/second) -"ifZ" = ( -/obj/structure/rack, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/effect/turf_decal/stripes/white/line, -/turf/open/floor/iron/dark, -/area/station/science/circuits) "igd" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -32643,18 +32624,6 @@ dir = 1 }, /area/station/hallway/secondary/exit/escape_pod) -"ixd" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "ixf" = ( /obj/structure/chair/sofa/bench/right{ dir = 1 @@ -32697,15 +32666,6 @@ /obj/structure/closet/secure_closet/personal/cabinet, /turf/open/floor/iron, /area/station/commons/dorms/room1) -"iyF" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/power/smes/full, -/obj/machinery/light/directional/east, -/turf/open/floor/plating, -/area/station/tcommsat/computer) "iyK" = ( /obj/structure/table/reinforced, /turf/open/floor/iron/dark/smooth_large, @@ -34394,6 +34354,19 @@ /obj/structure/cable, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) +"iUP" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/machinery/newscaster/directional/south, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron/dark/side{ + dir = 10 + }, +/area/station/hallway/secondary/exit/departure_lounge) "iUQ" = ( /obj/effect/turf_decal/tile/green/half, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -34918,10 +34891,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/storage) -"jbq" = ( -/obj/effect/turf_decal/tile/purple/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "jbr" = ( /obj/machinery/button/door/directional/south{ id = "stationawaygate"; @@ -35541,6 +35510,17 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) +"jlr" = ( +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new, +/obj/structure/closet/crate/bin, +/turf/open/floor/iron/dark/textured, +/area/station/engineering/lobby) "jlx" = ( /obj/effect/turf_decal/trimline/red/warning{ dir = 4 @@ -35946,6 +35926,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/pod/light, /area/station/maintenance/floor4/starboard/aft) +"jqq" = ( +/obj/effect/turf_decal/trimline/green/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/green/line{ + dir = 8 + }, +/obj/machinery/light/floor, +/turf/open/floor/iron/dark, +/area/station/hallway/floor3/fore) "jqy" = ( /obj/structure/lattice/catwalk, /turf/open/openspace, @@ -37006,19 +36996,6 @@ /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /turf/open/floor/engine/co2, /area/station/engineering/atmos) -"jEw" = ( -/obj/machinery/computer/department_orders/engineering{ - department_delivery_areas = list(/area/station/engineering/lobby) - }, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating_new, -/turf/open/floor/iron/dark/textured, -/area/station/engineering/lobby) "jEO" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/decal/cleanable/dirt, @@ -37476,6 +37453,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/floor4/starboard) +"jJM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold/purple/visible/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/purple, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "jJP" = ( /obj/effect/decal/cleanable/glass, /turf/open/floor/engine, @@ -39370,14 +39352,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood/parquet, /area/station/medical/psychology) -"kiw" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/junction/layer2{ - dir = 1 - }, -/obj/effect/spawner/structure/window/hollow/plasma/middle, -/obj/machinery/atmospherics/pipe/smart/simple/purple, -/turf/open/floor/engine/vacuum, -/area/station/science/ordnance/freezerchamber) "kiA" = ( /obj/effect/turf_decal/tile/green/opposingcorners, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -39482,12 +39456,6 @@ /obj/machinery/light/cold/no_nightlight/directional/east, /turf/open/floor/iron, /area/station/hallway/floor3/fore) -"kkd" = ( -/obj/machinery/light/floor, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/hallway/floor3/fore) "kkg" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -41417,11 +41385,6 @@ }, /turf/open/floor/iron/white, /area/station/science/lobby) -"kJp" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/purple/opposingcorners, -/turf/open/floor/iron/white, -/area/station/science/circuits) "kJq" = ( /turf/open/floor/iron/kitchen, /area/station/service/kitchen/abandoned) @@ -43512,6 +43475,10 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) +"liu" = ( +/obj/machinery/atmospherics/components/unary/bluespace_sender, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "liL" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -43609,21 +43576,6 @@ /obj/effect/spawner/random/maintenance/two, /turf/open/floor/pod/light, /area/station/maintenance/floor4/starboard/aft) -"lku" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 10 - }, -/obj/machinery/computer/department_orders/security{ - dir = 8 - }, -/obj/item/radio/intercom/directional/east, -/obj/machinery/button/door/directional/south{ - id = "secmechbay"; - name = "Security Mech Garage Door Controls"; - req_access = list("security") - }, -/turf/open/floor/iron, -/area/station/security/office) "lkA" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/structure/disposalpipe/segment{ @@ -43656,15 +43608,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/commons/dorms/apartment2) -"lkT" = ( -/obj/effect/turf_decal/delivery, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/airalarm/directional/east, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/service) "lkV" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ dir = 9 @@ -44249,12 +44192,6 @@ }, /turf/open/floor/carpet/blue, /area/station/command/meeting_room) -"ltH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/duct, -/turf/open/floor/iron/dark/textured, -/area/station/commons/fitness) "ltI" = ( /obj/effect/spawner/random/trash/graffiti{ pixel_y = -32 @@ -44638,16 +44575,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/service/bar) -"lyt" = ( -/obj/effect/turf_decal/trimline/purple/corner, -/obj/effect/turf_decal/trimline/purple/filled/corner{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk, -/obj/machinery/light/cold/no_nightlight/directional/west, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron/white, -/area/station/science/lobby) "lyv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44859,6 +44786,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/textured, /area/station/commons/toilet) +"lBR" = ( +/obj/machinery/shower/directional/east, +/obj/item/bikehorn/rubberducky, +/obj/structure/fluff/shower_drain, +/turf/open/floor/iron/white/small, +/area/station/commons/fitness/recreation) "lCf" = ( /obj/effect/turf_decal/trimline/green/warning, /obj/machinery/light/floor, @@ -45347,6 +45280,12 @@ /obj/effect/mapping_helpers/airlock/access/any/service/theatre, /turf/open/floor/pod/dark, /area/station/maintenance/floor3/starboard/aft) +"lIC" = ( +/obj/machinery/light/floor, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/hallway/floor2/fore) "lIJ" = ( /obj/structure/table/reinforced, /obj/item/flashlight/lamp{ @@ -46122,13 +46061,6 @@ /obj/structure/flora/bush/flowers_yw/style_random, /turf/open/floor/grass, /area/station/science/genetics) -"lRw" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/simple/purple, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "lRF" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 @@ -47670,10 +47602,6 @@ dir = 4 }, /area/station/hallway/floor3/fore) -"mlc" = ( -/obj/machinery/atmospherics/components/unary/bluespace_sender, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) "mlg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -48670,6 +48598,13 @@ }, /turf/open/floor/plating, /area/station/medical/abandoned) +"mxS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/structure/sign/poster/contraband/hacking_guide/directional/north, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/iron/dark/textured, +/area/station/commons/fitness) "mxT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -49043,6 +48978,13 @@ }, /turf/open/floor/wood/tile, /area/station/service/library/lounge) +"mCU" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/manifold/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/freezerchamber) "mDe" = ( /obj/structure/lattice, /turf/open/openspace, @@ -49646,6 +49588,11 @@ /obj/effect/spawner/structure/electrified_grille, /turf/open/floor/pod/light, /area/station/maintenance/floor1/port/aft) +"mKZ" = ( +/obj/effect/turf_decal/tile/purple/opposingcorners, +/obj/structure/rack, +/turf/open/floor/iron/white, +/area/station/science/circuits) "mLb" = ( /obj/effect/turf_decal/trimline/red/line{ dir = 1 @@ -50432,6 +50379,23 @@ /obj/effect/turf_decal/stripes/red/line, /turf/open/floor/plating, /area/station/engineering/supermatter) +"mVh" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/duct, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/security/office) "mVj" = ( /obj/effect/turf_decal/tile/green/half, /turf/open/floor/iron/dark/side, @@ -50619,12 +50583,6 @@ /obj/structure/tank_holder/emergency_oxygen, /turf/open/floor/iron/dark, /area/station/command/bridge) -"mXE" = ( -/obj/machinery/status_display/ai/directional/north, -/obj/structure/secure_safe/caps_spare, -/obj/structure/table/reinforced, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "mXH" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /turf/closed/wall/r_wall, @@ -50786,6 +50744,14 @@ name = "Holodeck Projector Floor" }, /area/station/holodeck/rec_center) +"mZS" = ( +/obj/structure/disposalpipe/trunk, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "mZT" = ( /obj/machinery/atmospherics/pipe/smart/simple/general/visible{ dir = 10 @@ -50851,13 +50817,6 @@ }, /turf/open/floor/plating, /area/station/medical/abandoned) -"naW" = ( -/obj/machinery/computer/department_orders/service{ - dir = 8 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/service) "nba" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 10 @@ -52758,15 +52717,6 @@ /obj/effect/landmark/blobstart, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor3/starboard) -"nyK" = ( -/obj/structure/cable, -/obj/machinery/bouldertech/refinery/smelter, -/obj/machinery/conveyor/inverted{ - dir = 10; - id = "mining" - }, -/turf/open/floor/iron/checker, -/area/station/cargo/miningdock) "nyL" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -53167,13 +53117,6 @@ /obj/structure/curtain/cloth, /turf/open/floor/eighties, /area/station/service/janitor) -"nEk" = ( -/obj/machinery/light_switch/directional/north, -/obj/machinery/status_display/ai/directional/east, -/obj/structure/table/reinforced/titaniumglass, -/obj/item/piggy_bank/vault, -/turf/open/floor/circuit, -/area/station/ai_monitored/command/nuke_storage) "nEl" = ( /obj/effect/turf_decal/trimline/green/filled/arrow_cw{ dir = 8 @@ -53550,6 +53493,16 @@ }, /turf/open/floor/engine/airless, /area/station/engineering/supermatter/waste) +"nIN" = ( +/obj/effect/turf_decal/trimline/blue/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/purple/line{ + dir = 8 + }, +/obj/machinery/light/floor, +/turf/open/floor/iron/dark, +/area/station/hallway/floor2/fore) "nIO" = ( /obj/structure/cable, /turf/open/floor/iron/smooth, @@ -53663,6 +53616,14 @@ /mob/living/basic/cow, /turf/open/floor/grass, /area/station/service/hydroponics) +"nKc" = ( +/obj/structure/cable, +/obj/machinery/conveyor/inverted{ + dir = 10; + id = "mining" + }, +/turf/open/floor/iron/checker, +/area/station/cargo/miningdock) "nKn" = ( /obj/structure/sign/directions/dorms/directional/east, /obj/structure/sign/directions/evac/directional/east{ @@ -54331,13 +54292,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/floor1/fore) -"nTF" = ( -/obj/structure/chair/sofa/bench/left{ - dir = 4 - }, -/obj/machinery/bluespace_vendor/directional/west, -/turf/open/floor/iron/dark, -/area/station/hallway/floor1/fore) "nTI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -54440,13 +54394,6 @@ }, /turf/open/floor/pod/dark, /area/station/maintenance/floor3/port) -"nUV" = ( -/obj/structure/fluff/shower_drain, -/obj/machinery/duct, -/turf/open/floor/iron/showroomfloor{ - name = "bathroom tiles" - }, -/area/station/security/lockers) "nVi" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -54941,13 +54888,6 @@ dir = 1 }, /area/station/engineering/lobby) -"obC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer4{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "obH" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -55461,10 +55401,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/floor1/fore) -"oiH" = ( -/mob/living/simple_animal/slime, -/turf/open/floor/grass, -/area/station/maintenance/floor3/starboard) "oiJ" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, @@ -56051,6 +55987,11 @@ dir = 1 }, /area/station/hallway/floor1/fore) +"oqc" = ( +/obj/structure/fluff/shower_drain, +/obj/machinery/shower/directional/north, +/turf/open/floor/iron/showroomfloor, +/area/station/command/heads_quarters/qm) "oqd" = ( /obj/structure/chair/comfy/brown{ dir = 4 @@ -56265,12 +56206,6 @@ /obj/structure/sink/directional/west, /turf/open/floor/eighties, /area/station/commons/dorms/room2) -"otC" = ( -/obj/machinery/light/floor, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/hallway/floor2/fore) "otD" = ( /obj/effect/turf_decal/siding/thinplating_new{ dir = 1 @@ -56735,6 +56670,13 @@ /obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/white, /area/station/medical/office) +"ozM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/bluespace_vendor/directional/north, +/turf/open/floor/iron, +/area/station/hallway/floor1/aft) "ozO" = ( /turf/closed/wall, /area/station/security/prison) @@ -57844,11 +57786,6 @@ /obj/machinery/light/dim/directional/west, /turf/open/floor/wood/large, /area/station/security/prison/safe) -"oPv" = ( -/obj/machinery/component_printer, -/obj/effect/turf_decal/tile/purple/opposingcorners, -/turf/open/floor/iron/white, -/area/station/science/circuits) "oPA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/blue/fourcorners, @@ -58299,6 +58236,12 @@ /obj/machinery/light_switch/directional/east, /turf/open/floor/iron, /area/station/cargo/storage) +"oUW" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "oVa" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -58447,12 +58390,6 @@ /obj/structure/railing/corner, /turf/open/space/openspace, /area/space/nearstation) -"oXk" = ( -/obj/machinery/shower/directional/west, -/obj/structure/fluff/shower_drain, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/iron/white/small, -/area/station/commons/fitness/recreation) "oXp" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/green/half/contrasted{ @@ -59754,6 +59691,12 @@ dir = 4 }, /area/station/hallway/secondary/exit/departure_lounge) +"pqB" = ( +/obj/machinery/light/floor, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/hallway/floor3/fore) "pqH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ @@ -60575,15 +60518,6 @@ dir = 4 }, /area/station/service/bar/atrium) -"pBa" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron/dark/side{ - dir = 10 - }, -/area/station/security/office) "pBg" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 10 @@ -60614,6 +60548,16 @@ }, /turf/open/floor/iron, /area/station/hallway/floor1/fore) +"pBQ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/sign/poster/official/random/directional/south, +/turf/open/floor/iron/dark/side, +/area/station/hallway/floor1/fore) "pBS" = ( /obj/machinery/deepfryer, /turf/open/floor/iron/kitchen, @@ -61975,6 +61919,11 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/white, /area/station/science/lobby) +"pUB" = ( +/obj/machinery/power/smes/full, +/obj/structure/cable, +/turf/open/floor/circuit, +/area/station/ai_monitored/turret_protected/aisat/service) "pUC" = ( /obj/effect/spawner/random/trash/graffiti, /turf/open/floor/pod/light, @@ -62734,6 +62683,10 @@ }, /turf/open/floor/iron, /area/station/hallway/floor1/aft) +"qdF" = ( +/obj/machinery/bluespace_vendor/directional/west, +/turf/open/floor/iron/dark, +/area/station/hallway/floor2/fore) "qdS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -62979,6 +62932,16 @@ /obj/machinery/atmospherics/pipe/heat_exchanging/manifold, /turf/open/space/basic, /area/space/nearstation) +"qgU" = ( +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 8 + }, +/obj/machinery/light/floor, +/turf/open/floor/iron/dark, +/area/station/hallway/floor1/fore) "qgV" = ( /obj/structure/railing{ dir = 1 @@ -63368,10 +63331,6 @@ /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"qnA" = ( -/mob/living/simple_animal/slime, -/turf/open/floor/engine/xenobio, -/area/station/science/xenobiology) "qnB" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -63393,6 +63352,13 @@ /obj/machinery/chem_heater/withbuffer, /turf/open/floor/circuit, /area/station/science/xenobiology) +"qnO" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/modular_computer/preset/cargochat/service{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/service) "qnS" = ( /obj/machinery/door/airlock/highsecurity, /obj/effect/mapping_helpers/airlock/cyclelink_helper, @@ -63841,14 +63807,6 @@ }, /turf/open/floor/pod/light, /area/station/maintenance/floor4/port/fore) -"qtA" = ( -/obj/structure/railing/corner, -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/filled/corner, -/turf/open/floor/iron/dark/textured, -/area/station/commons/fitness) "qtH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/filingcabinet/chestdrawer{ @@ -64081,10 +64039,6 @@ /obj/structure/cable, /turf/open/floor/carpet/royalblue, /area/station/commons/dorms/room4) -"qwd" = ( -/obj/machinery/bluespace_vendor/directional/north, -/turf/open/floor/iron/dark, -/area/station/hallway/floor3/fore) "qwg" = ( /obj/structure/chair/comfy/brown{ dir = 1 @@ -64294,12 +64248,6 @@ "qyx" = ( /turf/open/floor/engine, /area/station/science/explab) -"qyA" = ( -/obj/machinery/light/floor, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/hallway/floor4/aft) "qyB" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -65436,6 +65384,13 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron, /area/station/science/genetics) +"qNI" = ( +/obj/machinery/light/floor, +/obj/machinery/bluespace_vendor/directional/north, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/hallway/floor4/aft) "qNK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -65942,6 +65897,14 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/dark, /area/station/service/hydroponics) +"qUC" = ( +/obj/effect/turf_decal/tile/purple/opposingcorners, +/obj/effect/turf_decal/siding/brown{ + dir = 1 + }, +/obj/structure/table, +/turf/open/floor/iron/white, +/area/station/science/circuits) "qUL" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -66572,6 +66535,15 @@ }, /turf/open/floor/iron/dark, /area/station/commons/storage/tools) +"rcc" = ( +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/power/smes/full, +/obj/machinery/light/directional/east, +/turf/open/floor/plating, +/area/station/tcommsat/computer) "rcd" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -68480,11 +68452,6 @@ dir = 8 }, /area/station/hallway/floor1/aft) -"rDw" = ( -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/security/office) "rDD" = ( /obj/structure/transit_tube/curved/flipped{ dir = 8 @@ -68945,6 +68912,10 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor3/starboard/aft) +"rKV" = ( +/obj/machinery/bluespace_vendor/directional/north, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "rKX" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -71678,17 +71649,6 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"syZ" = ( -/obj/effect/turf_decal/trimline/red/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/line{ - dir = 8 - }, -/obj/effect/landmark/start/hangover, -/obj/machinery/light/floor, -/turf/open/floor/iron/dark, -/area/station/hallway/floor4/aft) "szb" = ( /obj/structure/chair/sofa/corp/right, /obj/machinery/light/directional/north, @@ -72006,6 +71966,14 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/pod/light, /area/station/maintenance/floor3/starboard/fore) +"sCO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/red/diagonal_edge, +/obj/structure/cable, +/obj/machinery/photobooth/security, +/turf/open/floor/iron/dark, +/area/station/security/prison/visit) "sDg" = ( /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 8 @@ -73271,6 +73239,16 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos/hfr_room) +"sTE" = ( +/obj/effect/turf_decal/trimline/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/line{ + dir = 8 + }, +/obj/machinery/light/floor, +/turf/open/floor/iron/dark, +/area/station/hallway/floor4/aft) "sTG" = ( /obj/machinery/chem_dispenser/drinks, /obj/structure/table/glass, @@ -73791,6 +73769,14 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet) +"sZb" = ( +/obj/structure/disposalpipe/trunk, +/obj/machinery/firealarm/directional/north, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron/corner{ + dir = 8 + }, +/area/station/engineering/lobby) "sZd" = ( /obj/structure/table/wood, /obj/effect/turf_decal/siding/white{ @@ -74001,6 +73987,15 @@ /obj/machinery/light/red/dim/directional/north, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor3/port) +"tbt" = ( +/obj/structure/cable, +/obj/machinery/bouldertech/refinery/smelter, +/obj/machinery/conveyor/inverted{ + dir = 10; + id = "mining" + }, +/turf/open/floor/iron/checker, +/area/station/cargo/miningdock) "tbu" = ( /obj/effect/spawner/random/trash/hobo_squat, /obj/effect/decal/cleanable/dirt, @@ -74133,6 +74128,11 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white/textured, /area/station/medical/office) +"tdt" = ( +/obj/machinery/light/directional/south, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/iron, +/area/station/hallway/secondary/service) "tdz" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/effect/turf_decal/trimline/brown/filled/mid_joiner, @@ -74300,16 +74300,6 @@ /obj/effect/landmark/start/botanist, /turf/open/floor/iron, /area/station/service/hydroponics) -"tfk" = ( -/obj/machinery/computer/department_orders/science{ - department_delivery_areas = list(/area/station/science/lobby,/area/station/science/robotics/lab) - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/effect/turf_decal/stripes/white/line, -/obj/machinery/light/cold/no_nightlight/directional/north, -/turf/open/floor/iron/dark, -/area/station/science/circuits) "tfo" = ( /obj/effect/turf_decal/trimline/white/line{ dir = 8 @@ -74616,14 +74606,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron/dark, /area/station/hallway/floor2/fore) -"tjS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/bluespace_vendor/directional/south, -/turf/open/floor/iron/dark/side, -/area/station/hallway/floor2/aft) "tjV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -74676,6 +74658,14 @@ }, /turf/open/floor/eighties, /area/station/commons/fitness/recreation/entertainment) +"tkZ" = ( +/obj/structure/cable, +/obj/machinery/conveyor/inverted{ + dir = 6; + id = "mining" + }, +/turf/open/floor/iron/checker, +/area/station/cargo/miningdock) "tld" = ( /obj/structure/table/reinforced, /obj/item/stack/sheet/mineral/plasma/five, @@ -74743,15 +74733,6 @@ }, /turf/open/floor/circuit, /area/station/science/xenobiology) -"tlX" = ( -/obj/machinery/modular_computer/preset/civilian{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/lobby) "tlZ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -75766,14 +75747,6 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) -"tyk" = ( -/obj/structure/disposalpipe/trunk, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "tyo" = ( /obj/effect/turf_decal/weather/dirt{ dir = 4 @@ -76378,6 +76351,18 @@ }, /turf/open/floor/pod, /area/station/maintenance/floor4/starboard/aft) +"tHk" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "tHn" = ( /obj/machinery/atmospherics/components/binary/pump/layer4{ dir = 1 @@ -77158,14 +77143,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/pod/light, /area/station/maintenance/floor1/starboard) -"tRk" = ( -/obj/structure/disposalpipe/trunk, -/obj/machinery/firealarm/directional/north, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron/corner{ - dir = 8 - }, -/area/station/engineering/lobby) "tRo" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -77453,6 +77430,13 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/dark/textured, /area/station/medical/paramedic) +"tVp" = ( +/obj/machinery/light_switch/directional/north, +/obj/machinery/status_display/ai/directional/east, +/obj/structure/table/reinforced/titaniumglass, +/obj/item/piggy_bank/vault, +/turf/open/floor/circuit, +/area/station/ai_monitored/command/nuke_storage) "tVq" = ( /obj/structure/railing{ dir = 8 @@ -78112,18 +78096,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/medical/abandoned) -"ufI" = ( -/obj/machinery/firealarm/directional/south, -/obj/machinery/camera/directional/south{ - c_tag = "Security - Office Aft" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/item/kirbyplants/organic/plant10, -/turf/open/floor/iron/dark, -/area/station/security/office) "ufL" = ( /obj/structure/railing/corner{ dir = 1 @@ -78231,6 +78203,21 @@ }, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor1/port) +"uhj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/table/reinforced, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/dark_blue/end{ + dir = 8 + }, +/obj/item/storage/toolbox/emergency, +/obj/machinery/bluespace_vendor/directional/south, +/turf/open/floor/iron/dark, +/area/station/commons/storage/tools) "uhl" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/effect/spawner/random/structure/crate, @@ -78435,6 +78422,12 @@ /obj/effect/spawner/random/trash/graffiti, /turf/open/floor/iron/white, /area/station/medical/abandoned) +"ujt" = ( +/obj/item/kirbyplants/organic/plant10, +/turf/open/floor/iron/dark/side{ + dir = 10 + }, +/area/station/security/office) "ujv" = ( /obj/docking_port/stationary/mining_home/common/northstar{ dir = 2 @@ -78877,21 +78870,6 @@ /obj/machinery/vending/wallmed/directional/west, /turf/open/floor/iron/white, /area/station/hallway/floor2/fore) -"uqF" = ( -/obj/structure/table, -/obj/machinery/button/ticket_machine{ - pixel_x = -32 - }, -/obj/item/stamp/head/hop{ - pixel_x = 8; - pixel_y = 5 - }, -/obj/item/flashlight/lamp{ - pixel_x = -4; - pixel_y = 3 - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/hop) "uqT" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 6 @@ -79615,6 +79593,23 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/smooth_large, /area/station/cargo/miningoffice) +"uBN" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/turf_decal/trimline/white/filled/line{ + color = "#065C93"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/command/bridge) "uBR" = ( /obj/machinery/airalarm/directional/south, /obj/structure/table, @@ -79802,6 +79797,12 @@ }, /turf/open/floor/iron/corner, /area/station/maintenance/solars/starboard/fore) +"uDR" = ( +/obj/machinery/firealarm/directional/west, +/obj/machinery/power/smes/full, +/obj/structure/cable, +/turf/open/floor/circuit, +/area/station/ai_monitored/turret_protected/aisat_interior) "uDZ" = ( /obj/machinery/light/directional/north, /obj/machinery/airalarm/directional/north, @@ -80002,6 +80003,13 @@ /obj/machinery/vending/coffee, /turf/open/floor/iron/dark, /area/station/science/breakroom) +"uGS" = ( +/obj/structure/chair/sofa/bench/left{ + dir = 4 + }, +/obj/machinery/bluespace_vendor/directional/west, +/turf/open/floor/iron/dark, +/area/station/hallway/floor1/fore) "uHa" = ( /obj/effect/turf_decal/tile/red, /turf/open/floor/iron/dark/side, @@ -80075,6 +80083,15 @@ /obj/structure/table, /turf/open/floor/pod/light, /area/station/maintenance/floor1/port) +"uHR" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/modular_computer/preset/cargochat/science{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/science/lobby) "uHT" = ( /obj/structure/chair/office/light, /obj/structure/sink/directional/west, @@ -80600,6 +80617,16 @@ /obj/item/reagent_containers/syringe, /turf/open/floor/iron/white, /area/station/security/medical) +"uNm" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/machinery/status_display/ai/directional/west, +/obj/structure/table/reinforced/titaniumglass, +/obj/item/maneki_neko{ + pixel_y = 4 + }, +/turf/open/floor/circuit, +/area/station/ai_monitored/command/nuke_storage) "uNp" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 4 @@ -81838,14 +81865,6 @@ "vdf" = ( /turf/open/floor/catwalk_floor, /area/station/hallway/floor1/aft) -"vdk" = ( -/obj/structure/cable, -/obj/machinery/conveyor/inverted{ - dir = 6; - id = "mining" - }, -/turf/open/floor/iron/checker, -/area/station/cargo/miningdock) "vdn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -81879,10 +81898,6 @@ /obj/machinery/duct, /turf/open/floor/pod/dark, /area/station/maintenance/floor2/port) -"vdT" = ( -/obj/machinery/bluespace_vendor/directional/north, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "vdU" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/generic_maintenance_landmark, @@ -81973,12 +81988,6 @@ /obj/effect/decal/cleanable/glass, /turf/open/floor/plating, /area/station/maintenance/floor4/starboard) -"vfy" = ( -/obj/machinery/light/floor, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/hallway/floor2/fore) "vfG" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -82378,6 +82387,12 @@ dir = 1 }, /area/station/security/prison) +"vlh" = ( +/obj/structure/fluff/shower_drain, +/obj/effect/turf_decal/trimline/neutral, +/obj/machinery/shower/directional/west, +/turf/open/floor/iron/freezer, +/area/station/hallway/secondary/service) "vlm" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -83107,12 +83122,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/cargo/warehouse) -"vtl" = ( -/obj/structure/fluff/shower_drain, -/obj/effect/turf_decal/trimline/neutral, -/obj/machinery/shower/directional/west, -/turf/open/floor/iron/freezer, -/area/station/hallway/secondary/service) "vtt" = ( /obj/machinery/door/airlock/atmos{ name = "Atmospherics" @@ -83200,13 +83209,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) -"vuC" = ( -/obj/machinery/light/directional/south, -/obj/machinery/computer/order_console/cook{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "vuD" = ( /obj/effect/turf_decal/trimline/white/filled/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -83242,16 +83244,6 @@ }, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor3/port/fore) -"vuQ" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 9 - }, -/obj/machinery/modular_computer/preset/cargochat/security{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/iron, -/area/station/security/office) "vuU" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -83744,13 +83736,6 @@ /obj/effect/decal/cleanable/wrapping, /turf/open/floor/pod/light, /area/station/maintenance/floor4/starboard/fore) -"vAP" = ( -/obj/machinery/modular_computer/preset/cargochat/service{ - dir = 8 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "vAS" = ( /obj/effect/mapping_helpers/airlock/access/any/supply/mining, /obj/machinery/door/airlock/multi_tile/public/glass{ @@ -84236,6 +84221,14 @@ }, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor1/port) +"vIo" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/security/office) "vIp" = ( /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 8 @@ -84860,6 +84853,13 @@ dir = 1 }, /area/station/ai_monitored/command/nuke_storage) +"vQY" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/machinery/component_printer, +/turf/open/floor/iron/dark, +/area/station/science/circuits) "vQZ" = ( /obj/machinery/door/airlock{ id_tag = "dorms_lux_2_bolts"; @@ -86604,6 +86604,10 @@ /obj/effect/mapping_helpers/airlock/access/all/security/entrance, /turf/open/floor/iron, /area/station/security/brig) +"wms" = ( +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron, +/area/station/hallway/secondary/service) "wmt" = ( /obj/machinery/status_display/ai/directional/north, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -87292,12 +87296,6 @@ "wuL" = ( /turf/closed/wall, /area/station/commons/dorms/apartment2) -"wuM" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/purple/opposingcorners, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/white, -/area/station/science/circuits) "wuZ" = ( /obj/structure/rack, /obj/effect/decal/cleanable/dirt, @@ -87340,6 +87338,16 @@ "wvq" = ( /turf/open/floor/iron/dark, /area/station/command/teleporter) +"wvv" = ( +/obj/effect/turf_decal/trimline/purple/corner, +/obj/effect/turf_decal/trimline/purple/filled/corner{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk, +/obj/machinery/light/cold/no_nightlight/directional/west, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron/white, +/area/station/science/lobby) "wvw" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -87964,6 +87972,11 @@ /obj/structure/table, /turf/open/floor/iron/checker, /area/station/commons/dorms/apartment1) +"wDf" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/table/reinforced/rglass, +/turf/open/floor/iron/white/textured, +/area/station/medical/break_room) "wDh" = ( /obj/structure/sign/poster/official/random/directional/north, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -88721,12 +88734,6 @@ dir = 5 }, /area/station/security/prison) -"wLQ" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "wLV" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -89528,12 +89535,24 @@ /obj/item/storage/briefcase/secure, /turf/open/floor/iron/dark, /area/station/command/teleporter) +"wWY" = ( +/obj/effect/spawner/structure/window/hollow/plasma/middle{ + dir = 4 + }, +/turf/open/floor/engine/vacuum, +/area/station/science/ordnance/freezerchamber) "wXc" = ( /obj/structure/disposalpipe/segment{ dir = 10 }, /turf/open/floor/plating, /area/station/maintenance/floor2/starboard/fore) +"wXg" = ( +/obj/machinery/light/floor, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/hallway/floor4/aft) "wXi" = ( /obj/structure/cable/multilayer/multiz, /turf/open/floor/plating, @@ -90111,16 +90130,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/floor3/aft) -"xff" = ( -/obj/effect/turf_decal/trimline/green/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/green/line{ - dir = 8 - }, -/obj/machinery/light/floor, -/turf/open/floor/iron/dark, -/area/station/hallway/floor3/fore) "xfv" = ( /obj/machinery/atmospherics/components/binary/pump/layer2{ dir = 1; @@ -90184,15 +90193,6 @@ icon_state = "textured_dark" }, /area/station/medical/office) -"xgo" = ( -/obj/machinery/door/firedoor/border_only, -/obj/structure/railing, -/obj/effect/turf_decal/box/red, -/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "xgC" = ( /obj/structure/railing/corner{ dir = 8 @@ -90204,6 +90204,12 @@ dir = 1 }, /area/station/service/library/private) +"xgD" = ( +/obj/machinery/photocopier, +/turf/open/floor/iron/half{ + dir = 1 + }, +/area/station/engineering/lobby) "xgH" = ( /turf/closed/wall, /area/station/maintenance/floor1/port) @@ -91388,14 +91394,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"xxe" = ( -/obj/structure/cable, -/obj/machinery/conveyor/inverted{ - dir = 10; - id = "mining" - }, -/turf/open/floor/iron/checker, -/area/station/cargo/miningdock) "xxh" = ( /obj/effect/turf_decal/siding/white{ dir = 10 @@ -91597,6 +91595,10 @@ }, /turf/open/floor/pod/light, /area/station/maintenance/floor2/port/fore) +"xzS" = ( +/obj/effect/turf_decal/tile/purple/fourcorners, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "xzT" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -92343,12 +92345,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/floor3/port) -"xII" = ( -/obj/machinery/firealarm/directional/west, -/obj/machinery/power/smes/full, -/obj/structure/cable, -/turf/open/floor/circuit, -/area/station/ai_monitored/turret_protected/aisat_interior) "xIL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -93181,6 +93177,12 @@ }, /turf/open/space/openspace, /area/space) +"xUB" = ( +/obj/machinery/light/floor, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/hallway/floor3/fore) "xUI" = ( /obj/structure/cable, /obj/structure/chair/sofa/bench/left, @@ -93764,11 +93766,6 @@ "ybL" = ( /turf/open/floor/plating/airless, /area/station/maintenance/disposal) -"ybP" = ( -/obj/structure/fluff/shower_drain, -/obj/machinery/shower/directional/north, -/turf/open/floor/iron/showroomfloor, -/area/station/command/heads_quarters/qm) "ybQ" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/firedoor/heavy, @@ -109203,7 +109200,7 @@ owI owI imY imY -fMX +lBR hpI jZE jSj @@ -110231,7 +110228,7 @@ owI owI imY imY -oXk +aSI hpI vTL vTL @@ -110770,7 +110767,7 @@ vsj tAz nQT lPR -dZZ +iUP inq qsF wUH @@ -112571,7 +112568,7 @@ aYd nBn rUH rUH -nTF +uGS rNO tSK hJy @@ -121818,7 +121815,7 @@ xHA xHA uKC gqU -bkJ +pBQ wdL wdL wdL @@ -123334,7 +123331,7 @@ owI hKN lWH oLL -ybP +oqc hKN hKN mar @@ -124389,9 +124386,9 @@ qIz jYY ptd cbT -fCl +qgU okN -fCl +qgU mXx nRe mXx @@ -127208,9 +127205,9 @@ quB mRt dAc sBK -nyK -vdk -xxe +tbt +tkZ +nKc qas jwr cax @@ -132101,7 +132098,7 @@ bAk qRW jKt nor -iyF +rcc sHG uxT tlq @@ -136720,7 +136717,7 @@ bJU pYs uyu kbu -gxE +ozM eeQ mdR gpf @@ -137749,7 +137746,7 @@ wfT wfT wRe wmU -jEw +jlr nDw bhp jPh @@ -139039,7 +139036,7 @@ fXd pLJ eLQ rBP -aGG +xgD wKT rBP uMl @@ -139299,7 +139296,7 @@ rBP hjz hjz rBP -tRk +sZb xYU fYg kHS @@ -141342,7 +141339,7 @@ qEw qEw qEw sAH -vdT +rKV kfo iZP kcB @@ -143121,7 +143118,7 @@ owI owI css lwc -mlc +liu vEN tGq vmr @@ -178095,7 +178092,7 @@ kEI wwu sbI jtJ -bgq +qdF hat qfv lXq @@ -182193,9 +182190,9 @@ kyM xWf xuv xuv -enP -oPv -kJp +qUC +dya +mKZ sxl naI lNN @@ -182449,14 +182446,14 @@ bDr bDr ctI xuv -agJ +hNr hKm sSz sSz sSz kik sSz -wuM +eLS xuv jBm cNm @@ -182706,7 +182703,7 @@ wwu bFq ctI xuv -tfk +fVi hKm qgQ gsn @@ -182963,7 +182960,7 @@ hrW gLD ctI xuv -aGj +vQY hKm qTK ifA @@ -183220,7 +183217,7 @@ rua rua cwq xuv -ifZ +hNr hKm qTK qTK @@ -183740,7 +183737,7 @@ jON jON jON vxK -lyt +wvv hVK eLC tpU @@ -186056,7 +186053,7 @@ hMV lIL fFu kEF -tlX +uHR ngk jFJ fko @@ -186331,10 +186328,10 @@ hLz uXA uXA hLz -lkT +enl ljf -naW -gqN +qnO +cZT qbr nNT bMJ @@ -186595,7 +186592,7 @@ hLz ilY hLz pLy -vtl +vlh joh hLz aQU @@ -189408,7 +189405,7 @@ dpL dpL dpL fNT -vfy +alL tjP jVt fNT @@ -189687,7 +189684,7 @@ wVY sIH hWV kpR -aFI +fDZ lcv aal ydS @@ -189925,14 +189922,14 @@ uPQ mge loK umC -gqT +nIN gYX -gqT +nIN feX feX feX qGm -tyk +mZS vKz oHs vXP @@ -189944,7 +189941,7 @@ iGY stS wzJ fXb -dmZ +wDf lcv cKs cMh @@ -190436,7 +190433,7 @@ qun qun qun fNT -otC +lIC uKW gEa fNT @@ -203804,7 +203801,7 @@ wzS nyE aOp oqv -tjS +cMz igE aWR aZn @@ -243119,7 +243116,7 @@ nVq nVq cyX wRJ -qwd +eOC mUs oJo oJo @@ -250585,7 +250582,7 @@ gBr sRh tUG ris -vuC +tdt gyr sng iHx @@ -251870,7 +251867,7 @@ wxM sVv ogg wuC -vAP +wms gyr vwc gMz @@ -253906,7 +253903,7 @@ dzQ bmf wIN iHm -oiH +gUT ljh yjU iHm @@ -254944,7 +254941,7 @@ liQ liQ liQ eDe -gvo +pqB bdR cKS eDe @@ -255461,9 +255458,9 @@ cXK kZH uNx hkV -xff +jqq viX -xff +jqq oZx oZx oZx @@ -255972,7 +255969,7 @@ qrd qrd qrd eDe -kkd +xUB bdR mZI eDe @@ -256210,7 +256207,7 @@ nqi pep yhT aRd -qnA +bzB kbZ iHm hDU @@ -256467,7 +256464,7 @@ nqi pep yhT aJD -qnA +bzB aJD iHm sSB @@ -256724,7 +256721,7 @@ nqi hjN yhT aJD -qnA +bzB urv iHm sSB @@ -257498,7 +257495,7 @@ sSB sSB sSB sSB -qrd +sSB qrd qrd sNE @@ -257756,7 +257753,7 @@ qrd qrd qrd qrd -bWZ +qrd vTf gvO boP @@ -258013,8 +258010,8 @@ qrd mcU xCX nWe -ltH -qtA +mxS +ajz lGo lNX lNX @@ -259041,7 +259038,7 @@ qrd oeQ xgb nWe -mkl +gvV hwr oWt wJH @@ -265989,7 +265986,7 @@ avk pNj hgM iMN -fIb +bPh aLZ iNC xoj @@ -269080,7 +269077,7 @@ faS fXB quO cgm -ehZ +uhj frW frW chn @@ -308140,7 +308137,7 @@ xHe xHe xHe aNs -mXE +cRe rrX djJ pWa @@ -308916,7 +308913,7 @@ rDQ rrX ewp eIb -bdQ +uBN mzv wvA rrX @@ -309435,7 +309432,7 @@ rrX shu hwM ukK -jbq +xzS uIx oad uxW @@ -310206,7 +310203,7 @@ wlK eCM nET eCM -fvj +uNm vQR hEQ uIx @@ -310720,7 +310717,7 @@ bxe eCM evo eCM -nEk +tVp vQR uIz uIx @@ -315063,7 +315060,7 @@ xpL qRI mKO rDL -wLQ +heI jha nPE xVV @@ -315320,7 +315317,7 @@ wFa eIs wFa tYV -fPd +oUW xwL nPE nPE @@ -315577,7 +315574,7 @@ mSG aSX aSX pqH -obC +bJA mKu hHi fMc @@ -315834,7 +315831,7 @@ dWz lYx unQ wMU -fPd +oUW rDL jjj dIJ @@ -316087,12 +316084,12 @@ ucA vyc vPP rrs -bYl -kiw -exv -lRw -fLX -ixd +mCU +hGC +jJM +hAH +eSq +tHk bDn gwe eoI @@ -316344,11 +316341,11 @@ ucA lYx oRh lYx -cBP +wWY lYx ngD wMU -xgo +aqm kFy xTG xxA @@ -316640,7 +316637,7 @@ dDw mau xPE qFL -nUV +gYI rPK vEa owb @@ -318417,7 +318414,7 @@ nPE qPv pJV iag -uqF +hAV iqy mKs ryE @@ -318678,7 +318675,7 @@ ipn fpn uGO mCJ -dNU +hax btT hIb uSW @@ -319214,8 +319211,8 @@ eOy exp lnl uYM -eOy -pBa +vIo +ujt eNj ftt eNj @@ -319471,7 +319468,7 @@ kOc kQu nRI aHo -hLW +mVh iXK xOI cAJ @@ -319728,7 +319725,7 @@ aQS vko mBg dPf -rDw +mBg pse oQu odH @@ -319985,8 +319982,8 @@ fQA fQA fNA ebz -vuQ -lku +aFM +gNL eNj kcw hvb @@ -320241,7 +320238,7 @@ sMB sMB aEh fNA -ufI +gFT dnU dnU aRU @@ -320480,7 +320477,7 @@ liQ liQ liQ nWW -qyA +wXg nQX bgI eOP @@ -320997,9 +320994,9 @@ jgd kpl tFp gQh -syZ +fsK weB -bDf +sTE vRO vRO vRO @@ -321508,7 +321505,7 @@ txa txa txa nWW -diE +qNI nQX kQk eOP @@ -326669,7 +326666,7 @@ gDx iIb ftZ tBk -qTA +sCO wKi akt rbr @@ -335644,7 +335641,7 @@ aFj aFj sOy rZC -xII +uDR knY sOy vyR @@ -336150,7 +336147,7 @@ oyh oyh aFj aFj -gyE +pUB kZZ kum kum @@ -336921,7 +336918,7 @@ dkh aFj aFj aFj -eOO +daa kZZ tOV knH diff --git a/_maps/map_files/VoidRaptor/VoidRaptor.dmm b/_maps/map_files/VoidRaptor/VoidRaptor.dmm index 9a67c3d41f3..a4c6892079a 100644 --- a/_maps/map_files/VoidRaptor/VoidRaptor.dmm +++ b/_maps/map_files/VoidRaptor/VoidRaptor.dmm @@ -462,7 +462,7 @@ /turf/open/floor/iron/smooth, /area/station/maintenance/starboard/aft) "agX" = ( -/mob/living/simple_animal/slime, +/mob/living/basic/slime, /turf/open/floor/circuit/green, /area/station/science/xenobiology) "aha" = ( @@ -7163,9 +7163,6 @@ /turf/closed/wall, /area/station/maintenance/port/greater) "chg" = ( -/obj/structure/secure_safe/caps_spare{ - pixel_x = -24 - }, /obj/structure/table/reinforced/rglass, /obj/item/storage/photo_album, /obj/item/camera{ @@ -15290,6 +15287,7 @@ "esP" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/effect/turf_decal/tile/dark_blue/anticorner, +/obj/structure/secure_safe/caps_spare, /turf/open/floor/iron/dark/smooth_large, /area/station/command/bridge) "esZ" = ( @@ -20634,7 +20632,6 @@ dir = 4 }, /obj/effect/turf_decal/trimline/brown/filled/mid_joiner, -/obj/machinery/computer/department_orders/service, /obj/effect/turf_decal/bot, /turf/open/floor/iron/smooth_large, /area/station/hallway/secondary/service) @@ -34674,7 +34671,6 @@ /area/station/science/xenobiology) "jSl" = ( /obj/effect/turf_decal/bot, -/obj/machinery/computer/department_orders/science, /obj/effect/turf_decal/trimline/brown/filled/mid_joiner, /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 10 @@ -36895,9 +36891,6 @@ /turf/open/floor/iron/smooth, /area/station/cargo/lobby) "kyH" = ( -/obj/machinery/computer/department_orders/medical{ - dir = 4 - }, /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 6 }, @@ -48096,9 +48089,6 @@ /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 9 }, -/obj/machinery/computer/department_orders/security{ - dir = 1 - }, /obj/machinery/firealarm/directional/south, /obj/effect/turf_decal/trimline/brown/filled/mid_joiner{ dir = 8 @@ -49511,9 +49501,6 @@ /turf/closed/wall, /area/station/medical/medbay/central) "nUc" = ( -/obj/machinery/computer/department_orders/engineering{ - dir = 1 - }, /obj/effect/turf_decal/trimline/brown/filled/mid_joiner{ dir = 1 }, @@ -49692,9 +49679,6 @@ /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 }, -/obj/machinery/modular_computer/preset/cargochat/cargo{ - dir = 4 - }, /obj/effect/turf_decal/bot, /turf/open/floor/iron/smooth_edge{ dir = 4 diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm index 47cbee30409..e0de5bebc26 100644 --- a/_maps/map_files/tramstation/tramstation.dmm +++ b/_maps/map_files/tramstation/tramstation.dmm @@ -597,6 +597,16 @@ dir = 1 }, /area/station/escapepodbay) +"aci" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/machinery/photobooth/security, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "acj" = ( /turf/open/floor/iron/stairs/medium{ dir = 1 @@ -2967,10 +2977,6 @@ /obj/effect/turf_decal/trimline/neutral/filled/line, /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation/entertainment) -"aoW" = ( -/mob/living/simple_animal/slime, -/turf/open/floor/engine, -/area/station/science/xenobiology) "apl" = ( /obj/effect/turf_decal/weather/snow, /obj/effect/turf_decal/weather/snow/corner{ @@ -12263,6 +12269,10 @@ "dfz" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance/storage) +"dfC" = ( +/mob/living/basic/slime, +/turf/open/floor/engine, +/area/station/science/xenobiology) "dfE" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 5 @@ -12998,14 +13008,6 @@ "dtA" = ( /turf/open/openspace, /area/station/security/courtroom/holding) -"dtM" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 9 - }, -/obj/item/radio/intercom/directional/north, -/obj/structure/table, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "dtT" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/white/full, @@ -16918,13 +16920,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/security/courtroom) -"eTv" = ( -/obj/machinery/modular_computer/preset/cargochat/service{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "eTQ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -19490,6 +19485,13 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron, /area/station/science/explab) +"fRb" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 9 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron, +/area/station/hallway/secondary/service) "fRs" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -33430,10 +33432,6 @@ "kPE" = ( /turf/open/misc/asteroid, /area/station/maintenance/starboard/greater) -"kPS" = ( -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/grimy, -/area/station/service/library/lounge) "kPT" = ( /obj/vehicle/ridden/wheelchair, /obj/effect/turf_decal/bot, @@ -34148,15 +34146,6 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/engineering) -"lbK" = ( -/obj/machinery/computer/department_orders/service, -/obj/machinery/camera/directional/north{ - c_tag = "Service - Autolathe Room" - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/light/dim/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "lbL" = ( /turf/open/floor/wood, /area/station/service/bar/backroom) @@ -37161,6 +37150,18 @@ "mbJ" = ( /turf/closed/wall, /area/station/maintenance/tram/right) +"mbK" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "mbQ" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -37231,6 +37232,17 @@ }, /turf/open/floor/plating, /area/station/command/heads_quarters/rd) +"mdk" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 5 + }, +/obj/structure/cable, +/obj/structure/table, +/turf/open/floor/iron, +/area/station/engineering/break_room) "mdl" = ( /obj/effect/turf_decal/trimline/white/warning{ dir = 6 @@ -37616,6 +37628,25 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"mjy" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 + }, +/obj/machinery/status_display/evac/directional/west, +/obj/effect/turf_decal/trimline/red/filled/warning{ + dir = 4 + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen{ + pixel_x = 3; + pixel_y = 8 + }, +/turf/open/floor/iron, +/area/station/security/office) "mjF" = ( /obj/structure/disposalpipe/sorting/mail/flip{ dir = 4 @@ -38323,13 +38354,6 @@ /obj/effect/turf_decal/trimline/neutral/filled/line, /turf/open/floor/iron, /area/station/commons/storage/primary) -"myW" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron/white, -/area/station/science/lab) "mzb" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 5 @@ -38850,6 +38874,11 @@ /obj/structure/railing, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) +"mHZ" = ( +/obj/item/radio/intercom/directional/east, +/obj/machinery/photobooth, +/turf/open/floor/iron/grimy, +/area/station/service/library/lounge) "mId" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/turf_decal/trimline/green/filled/line{ @@ -43710,18 +43739,6 @@ /obj/machinery/meter, /turf/closed/wall/r_wall, /area/station/engineering/atmos) -"ovu" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/modular_computer/preset/civilian{ - dir = 8 - }, -/turf/open/floor/glass/reinforced, -/area/station/science/research) "ovC" = ( /obj/structure/railing/corner{ dir = 4 @@ -44859,19 +44876,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/cargo/miningdock) -"oVo" = ( -/obj/machinery/computer/department_orders/security{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 - }, -/obj/machinery/status_display/evac/directional/west, -/obj/effect/turf_decal/trimline/red/filled/warning{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/office) "oVM" = ( /turf/closed/wall/r_wall, /area/station/security/prison/mess) @@ -46703,6 +46707,15 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/sorting) +"pBU" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/glass/reinforced, +/area/station/science/research) "pBZ" = ( /obj/structure/railing/corner{ dir = 4 @@ -47458,6 +47471,20 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/storage/primary) +"pOY" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Science - Research & Development"; + network = list("ss13","rd") + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/item/kirbyplants/organic/plant10, +/turf/open/floor/iron/white, +/area/station/science/lab) "pOZ" = ( /obj/machinery/portable_atmospherics/scrubber, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -47776,18 +47803,6 @@ }, /turf/open/floor/iron/stairs/medium, /area/station/commons/dorms) -"pWK" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/computer/department_orders/science{ - dir = 4 - }, -/turf/open/floor/glass/reinforced, -/area/station/science/research) "pWN" = ( /obj/structure/plaque/static_plaque/golden/commission/tram, /obj/structure/disposalpipe/segment{ @@ -48835,19 +48850,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/noslip/tram, /area/station/hallway/primary/tram/right) -"qnO" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","rd"); - c_tag = "Science - Research & Development" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/science/lab) "qnU" = ( /obj/effect/turf_decal/trimline/red/filled/corner, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -48977,6 +48979,11 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/commons/fitness/recreation) +"qqm" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/iron, +/area/station/hallway/secondary/service) "qqv" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on, /obj/machinery/light/directional/north, @@ -49251,6 +49258,15 @@ }, /turf/open/floor/iron, /area/station/command/bridge) +"qvR" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/glass/reinforced, +/area/station/science/research) "qvV" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -50253,21 +50269,6 @@ "qOo" = ( /turf/open/floor/iron/white, /area/station/science/ordnance) -"qOB" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/modular_computer/preset/cargochat/medical{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "qOF" = ( /turf/closed/wall, /area/station/commons/dorms/laundry) @@ -56999,6 +57000,15 @@ /obj/machinery/shower/directional/south, /turf/open/floor/iron/freezer, /area/station/commons/toilet) +"thm" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/modular_computer/preset/cargochat/medical{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/storage) "thG" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/effect/turf_decal/trimline/red/filled/corner{ @@ -60506,16 +60516,6 @@ /obj/machinery/status_display/ai/directional/east, /turf/open/floor/iron, /area/station/security/office) -"uqN" = ( -/obj/structure/table, -/obj/machinery/airalarm/directional/north, -/obj/machinery/fax{ - name = "Service Fax Machine"; - fax_name = "Service Hallway" - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "uqR" = ( /obj/effect/landmark/navigate_destination/dockarrival, /turf/open/floor/iron, @@ -61699,15 +61699,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"uHD" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/execution/transfer) "uHF" = ( /obj/structure/railing{ dir = 4 @@ -61823,19 +61814,6 @@ /obj/item/canvas/twentythree_twentythree, /turf/open/floor/iron/grimy, /area/station/service/library/lounge) -"uJx" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 5 - }, -/obj/machinery/computer/department_orders/engineering{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/break_room) "uJH" = ( /turf/open/floor/iron/white, /area/station/science/robotics/lab) @@ -62799,6 +62777,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/checkpoint/medical) +"vbl" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Service - Autolathe Room" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/dim/directional/north, +/obj/structure/table, +/obj/machinery/fax{ + fax_name = "Service Hallway"; + name = "Service Fax Machine" + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/service) "vbt" = ( /obj/machinery/computer/atmos_control/oxygen_tank{ atmos_chambers = list(o2ordance="Oxygen Supply") @@ -66043,6 +66034,12 @@ /obj/structure/railing/corner, /turf/open/space/openspace, /area/station/solars/starboard/fore) +"whX" = ( +/obj/machinery/airalarm/directional/north, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/modular_computer/preset/cargochat/service, +/turf/open/floor/iron, +/area/station/hallway/secondary/service) "wid" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -66059,15 +66056,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) -"wio" = ( -/obj/machinery/computer/department_orders/medical{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/storage) "wip" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -66925,6 +66913,14 @@ /obj/structure/sign/warning/electric_shock, /turf/closed/wall/r_wall, /area/station/maintenance/port/central) +"wzX" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 + }, +/obj/machinery/newscaster/directional/north, +/obj/machinery/modular_computer/preset/cargochat/science, +/turf/open/floor/iron/white, +/area/station/science/lab) "wAa" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -86741,7 +86737,7 @@ jWs jvE eLB abU -uHD +aci acv acH sXc @@ -102689,10 +102685,10 @@ apl iRL snQ iRL -uqN +whX tbm nNZ -eTv +qqm cWZ klk kNo @@ -103203,7 +103199,7 @@ bje iRL snQ iRL -dtM +fRb twg dWn cWZ @@ -103756,7 +103752,7 @@ ixT gYI cgR ial -uJx +mdk amV mvy iXQ @@ -103974,7 +103970,7 @@ aeF iRL quF iRL -lbK +vbl sWF iog cWZ @@ -115596,7 +115592,7 @@ dUT gdC qVr bfH -aoW +dfC ahk hdA mBm @@ -115608,7 +115604,7 @@ hik sml bfH bfH -aoW +dfC jTC qVr aaa @@ -118680,7 +118676,7 @@ hFH tYB qVr jTC -aoW +dfC bfH bfH nbI @@ -118692,7 +118688,7 @@ rbU uAF ahk hdA -aoW +dfC bfH qVr aaa @@ -152597,7 +152593,7 @@ cSr rAS xzI uYa -kPS +mHZ ppK rAS rAS @@ -156638,7 +156634,7 @@ dEv ukw pyF dEv -oVo +mjy rWT gYd isV @@ -166207,7 +166203,7 @@ kZD wAe glU jSc -wio +thm xRx aLw pVk @@ -167232,7 +167228,7 @@ jAc kkd qNI mrC -qOB +mbK tOw kGa djz @@ -182137,14 +182133,14 @@ wxu yjY eYS oxL -qnO +pOY oGO xQN mEt vNk kTU xyt -ovu +qvR ovC dCq uiV @@ -183165,14 +183161,14 @@ aIv aHQ tJz oxL -myW +wzX lpC vTb vTb rbn crj wWT -pWK +pBU uvB rBb tbK diff --git a/_maps/templates/lazy_templates/nukie_base.dmm b/_maps/templates/lazy_templates/nukie_base.dmm index 58c3d233d7b..63c0fc2b168 100644 --- a/_maps/templates/lazy_templates/nukie_base.dmm +++ b/_maps/templates/lazy_templates/nukie_base.dmm @@ -2132,7 +2132,7 @@ /turf/open/space/basic, /area/space/nearstation) "zR" = ( -/mob/living/simple_animal/slime, +/mob/living/basic/slime, /turf/open/floor/circuit/red/off, /area/centcom/syndicate_mothership/expansion_bioterrorism) "zS" = ( diff --git a/code/__DEFINES/ai/slime.dm b/code/__DEFINES/ai/slime.dm new file mode 100644 index 00000000000..ba08dbba556 --- /dev/null +++ b/code/__DEFINES/ai/slime.dm @@ -0,0 +1,14 @@ +// Slime AI controller blackboard keys + +///If true, the slime will not get hungry, nor hunt +#define BB_SLIME_HUNGER_DISABLED "BB_slime_hunger_disabled" +///Keeps track how hungry the slime is +#define BB_SLIME_HUNGER_LEVEL "BB_slime_hunger_level" +///If true, the slime is rabid +#define BB_SLIME_RABID "BB_slime_rabid" +///Are we an adult, or a child +#define BB_SLIME_LIFE_STAGE "BB_slime_life_stage" +///Our evolve action +#define BB_SLIME_EVOLVE "BB_slime_evolve" +///Our reproduce action +#define BB_SLIME_REPRODUCE "BB_slime_reproduce" diff --git a/code/__DEFINES/cameranets.dm b/code/__DEFINES/cameranets.dm index b88678db4a5..1dea0cd18ae 100644 --- a/code/__DEFINES/cameranets.dm +++ b/code/__DEFINES/cameranets.dm @@ -3,3 +3,26 @@ /// Takes a position, transforms it into a chunk bounded position. Indexes at 1 so it'll land on actual turfs always #define GET_CHUNK_COORD(v) (max((FLOOR(v, CHUNK_SIZE)), 1)) +//List of different camera nets, cameras are given this in the map and camera consoles can only view them if +//they share this network with them. +#define CAMERANET_NETWORK_SS13 "ss13" +#define CAMERANET_NETWORK_MINE "mine" +#define CAMERANET_NETWORK_RD "rd" +#define CAMERANET_NETWORK_LABOR "labor" +#define CAMERANET_NETWORK_ORDNANCE "ordnance" +#define CAMERANET_NETWORK_AUXBASE "auxbase" +#define CAMERANET_NETWORK_VAULT "vault" +#define CAMERANET_NETWORK_AI_CORE "aicore" +#define CAMERANET_NETWORK_AI_UPLOAD "aiupload" +#define CAMERANET_NETWORK_MINISAT "minisat" +#define CAMERANET_NETWORK_XENOBIOLOGY "xeno" +#define CAMERANET_NETWORK_TEST_CHAMBER "test" +#define CAMERANET_NETWORK_PRISON "prison" +#define CAMERANET_NETWORK_MEDBAY "medbay" +#define CAMERANET_NETWORK_ENGINE "engine" +#define CAMERANET_NETWORK_TELECOMMS "tcomms" +#define CAMERANET_NETWORK_TURBINE "turbine" +#define CAMERANET_NETWORK_THUNDERDOME "thunder" +#define CAMERANET_NETWORK_BAR "bar" +#define CAMERANET_NETWORK_INTERROGATION "interrogation" +#define CAMERANET_NETWORK_ABDUCTOR "abductor" diff --git a/code/__DEFINES/construction/structures.dm b/code/__DEFINES/construction/structures.dm index e52b82f248e..1b4ea8aa112 100644 --- a/code/__DEFINES/construction/structures.dm +++ b/code/__DEFINES/construction/structures.dm @@ -83,3 +83,12 @@ #define FRAME_COMPUTER_STATE_WIRED 3 /// Frame has had glass applied to it #define FRAME_COMPUTER_STATE_GLASSED 4 + +///The camera assembly is wrenched in (aka placed on the wall), and wrenching will deconstruct. +#define CAMERA_STATE_WRENCHED 1 +///The camera assembly is welded in place, so won't come off from wrench anymore. +#define CAMERA_STATE_WELDED 2 +///The camera assembly is wired and ready to finish construction. +#define CAMERA_STATE_WIRED 3 +///The camera assembly is finished construction fully, and is currently chilling in the camera machine. +#define CAMERA_STATE_FINISHED 4 diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.dm b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.dm index 38d0500dcbd..42b2b2ce2b3 100644 --- a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.dm +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.dm @@ -37,6 +37,10 @@ #define COMSIG_MOVABLE_BUCKLE "buckle" ///from base of atom/movable/unbuckle_mob(): (mob, force) #define COMSIG_MOVABLE_UNBUCKLE "unbuckle" +///from /atom/movable/proc/buckle_mob(): (buckled_movable) +#define COMSIG_MOB_BUCKLED "mob_buckle" +///from /atom/movable/proc/unbuckle_mob(): (buckled_movable) +#define COMSIG_MOB_UNBUCKLED "mob_unbuckle" ///from /obj/vehicle/proc/driver_move, caught by the riding component to check and execute the driver trying to drive the vehicle #define COMSIG_RIDDEN_DRIVER_MOVE "driver_move" #define COMPONENT_DRIVER_BLOCK_MOVE (1<<0) diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_basic.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_basic.dm index a5205a0589b..130a032eb35 100644 --- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_basic.dm +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_basic.dm @@ -16,3 +16,11 @@ /// Called whenever an animal is pet via the /datum/element/pet_bonus element: (mob/living/petter, modifiers) #define COMSIG_ANIMAL_PET "animal_pet" + +///from base of mob/living/basic/regal_rat: (mob/living/basic/regal_rat/king) +#define COMSIG_RAT_INTERACT "rat_interaction" + #define COMPONENT_RAT_INTERACTED (1<<0) //! If this is returned, cancel any further interactions. + +///from /datum/status_effect/slime_leech: (mob/living/basic/slime/draining_slime) +#define COMSIG_SLIME_DRAINED "slime_drained" + diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_simple.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_simple.dm index 8b19c1f0054..b648af8fa6c 100644 --- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_simple.dm +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_simple.dm @@ -10,9 +10,7 @@ #define COMPONENT_HOSTILE_NO_ATTACK COMPONENT_CANCEL_ATTACK_CHAIN //cancel the attack, only works before attack happens ///after attackingtarget has happened, source is the attacker and target is the attacked, extra argument for if the attackingtarget was successful #define COMSIG_HOSTILE_POST_ATTACKINGTARGET "hostile_post_attackingtarget" -///from base of mob/living/basic/regal_rat: (mob/living/basic/regal_rat/king) -#define COMSIG_RAT_INTERACT "rat_interaction" - #define COMPONENT_RAT_INTERACTED (1<<0) //! If this is returned, cancel any further interactions. + ///FROM mob/living/simple_animal/hostile/ooze/eat_atom(): (atom/target, edible_flags) #define COMSIG_OOZE_EAT_ATOM "ooze_eat_atom" #define COMPONENT_ATOM_EATEN (1<<0) diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index 91c5c03b74f..3430f97dd7d 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -180,7 +180,7 @@ GLOBAL_LIST_INIT(turfs_pass_meteor, typecacheof(list( #define ismouse(A) (istype(A, /mob/living/basic/mouse)) -#define isslime(A) (istype(A, /mob/living/simple_animal/slime)) +#define isslime(A) (istype(A, /mob/living/basic/slime)) #define isdrone(A) (istype(A, /mob/living/basic/drone)) diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index a14e781ea8b..28c202281f4 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -318,6 +318,9 @@ //Slime evolution threshold. Controls how fast slimes can split/grow #define SLIME_EVOLUTION_THRESHOLD 10 +//Slime evolution cost in nutrition +#define SLIME_EVOLUTION_COST 200 + //Slime extract crossing. Controls how many extracts is required to feed to a slime to core-cross. #define SLIME_EXTRACT_CROSSING_REQUIRED 10 diff --git a/code/__DEFINES/research/slimes.dm b/code/__DEFINES/research/slimes.dm index 59410564928..344514afb76 100644 --- a/code/__DEFINES/research/slimes.dm +++ b/code/__DEFINES/research/slimes.dm @@ -1,10 +1,40 @@ +///This slime is a baby #define SLIME_LIFE_STAGE_BABY "baby" +///This slime is an adult #define SLIME_LIFE_STAGE_ADULT "adult" +///This lowest charge a slime can have #define SLIME_MIN_POWER 0 +///Dangerous levels of charge #define SLIME_MEDIUM_POWER 5 +///The highest level of charge a slime can have #define SLIME_MAX_POWER 10 +///The maximum amount of nutrition a slime can contain +#define SLIME_MAX_NUTRITION 1000 +///The starting nutrition of a slime +#define SLIME_STARTING_NUTRITION 700 +/// Above it we grow our amount_grown and our power_level, below it we can eat +#define SLIME_GROW_NUTRITION 800 +/// Below this, we feel hungry +#define SLIME_HUNGER_NUTRITION 500 +/// Below this, we feel starving +#define SLIME_STARVE_NUTRITION 200 + +///The slime is not hungry. It might try to feed anyways. +#define SLIME_HUNGER_NONE 0 +///The slime is more likely to feed on people +#define SLIME_HUNGER_HUNGRY 1 +///The slime is very likely to feed on anything +#define SLIME_HUNGER_STARVING 2 + +#define SLIME_MOOD_NONE "none" +#define SLIME_MOOD_ANGRY "angry" +#define SLIME_MOOD_MISCHIEVOUS "mischievous" +#define SLIME_MOOD_POUT "pout" +#define SLIME_MOOD_SAD "sad" +#define SLIME_MOOD_SMILE ":3" + // Just slimin' here. // Warning: These defines are used for slime icon states, so if you // touch these names, remember to update icons/mob/simple/slimes.dmi! diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm index d7e98180261..8ada83a2109 100644 --- a/code/__DEFINES/status_effects.dm +++ b/code/__DEFINES/status_effects.dm @@ -43,6 +43,7 @@ #define STASIS_SHAPECHANGE_EFFECT "stasis_shapechange" #define STASIS_ADMIN "stasis_admin" #define STASIS_LEGION_EATEN "stasis_eaten" +#define STASIS_SLIME_BZ "stasis_slime_bz" #define STASIS_NETPOD_EFFECT "stasis_netpod" diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 651336fd12e..d16b91ee4c8 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -282,7 +282,6 @@ GLOBAL_LIST_INIT(WALLITEMS_INTERIOR, typecacheof(list( GLOBAL_LIST_INIT(WALLITEMS_EXTERIOR, typecacheof(list( /obj/machinery/camera, /obj/machinery/light, - /obj/structure/camera_assembly, /obj/structure/light_construct, ))) diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 1799b2bf0d6..72345401554 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -628,15 +628,15 @@ GLOBAL_LIST_EMPTY(species_list) moblist += mob_to_sort for(var/mob/dead/new_player/mob_to_sort in sortmob) moblist += mob_to_sort - for(var/mob/living/simple_animal/slime/mob_to_sort in sortmob) + for(var/mob/living/basic/slime/mob_to_sort in sortmob) moblist += mob_to_sort for(var/mob/living/simple_animal/mob_to_sort in sortmob) - // We've already added slimes. - if(isslime(mob_to_sort)) - continue moblist += mob_to_sort for(var/mob/living/basic/mob_to_sort in sortmob) moblist += mob_to_sort + // We've already added slimes. + if(isslime(mob_to_sort)) + continue // SKYRAT EDIT START - SOULCATCHERS for(var/mob/living/soulcatcher_soul/mob_to_sort in sortmob) moblist += mob_to_sort diff --git a/code/_globalvars/lists/quirks.dm b/code/_globalvars/lists/quirks.dm index 2152077173f..4cd45ecc4be 100644 --- a/code/_globalvars/lists/quirks.dm +++ b/code/_globalvars/lists/quirks.dm @@ -12,7 +12,7 @@ GLOBAL_LIST_INIT(nearsighted_glasses, list( )) -///Options for the prothetic limb quirk to choose from +///Options for the prosthetic limb quirk to choose from GLOBAL_LIST_INIT(limb_choice, list( "Left Arm" = /obj/item/bodypart/arm/left/robot/surplus, "Right Arm" = /obj/item/bodypart/arm/right/robot/surplus, @@ -20,14 +20,73 @@ GLOBAL_LIST_INIT(limb_choice, list( "Right Leg" = /obj/item/bodypart/leg/right/robot/surplus, )) +///Transhumanist quirk GLOBAL_LIST_INIT(limb_choice_transhuman, list( "Left Arm" = /obj/item/bodypart/arm/left/robot, "Right Arm" = /obj/item/bodypart/arm/right/robot, "Left Leg" = /obj/item/bodypart/leg/left/robot, "Right Leg" = /obj/item/bodypart/leg/right/robot, )) - +///Hemiplegic Quirk GLOBAL_LIST_INIT(side_choice_hemiplegic, list( "Left Side" = /datum/brain_trauma/severe/paralysis/hemiplegic/left, "Right Side" = /datum/brain_trauma/severe/paralysis/hemiplegic/right, )) + +///Options for the Junkie quirk to choose from +GLOBAL_LIST_INIT(possible_junkie_addictions, setup_junkie_addictions(list( + /datum/reagent/drug/blastoff, + /datum/reagent/drug/krokodil, + /datum/reagent/medicine/morphine, + /datum/reagent/drug/happiness, + /datum/reagent/drug/methamphetamine, +))) + +///Options for the Smoker quirk to choose from +GLOBAL_LIST_INIT(possible_smoker_addictions, setup_junkie_addictions(list( + /obj/item/storage/fancy/cigarettes, + /obj/item/storage/fancy/cigarettes/cigpack_midori, + /obj/item/storage/fancy/cigarettes/cigpack_uplift, + /obj/item/storage/fancy/cigarettes/cigpack_robust, + /obj/item/storage/fancy/cigarettes/cigpack_robustgold, + /obj/item/storage/fancy/cigarettes/cigpack_carp, + /obj/item/storage/fancy/cigarettes/cigars, + /obj/item/storage/fancy/cigarettes/cigars/cohiba, + /obj/item/storage/fancy/cigarettes/cigars/havana, +))) + +///Options for the Alcoholic quirk to choose from +GLOBAL_LIST_INIT(possible_alcoholic_addictions, list( + "Beekhof Blauw Curaçao" = list("bottlepath" = /obj/item/reagent_containers/cup/glass/bottle/curacao, "reagent" = /datum/reagent/consumable/ethanol/curacao), + "Buckin' Bronco's Applejack" = list("bottlepath" = /obj/item/reagent_containers/cup/glass/bottle/applejack, "reagent" = /datum/reagent/consumable/ethanol/applejack), + "Voltaic Yellow Wine" = list("bottlepath" = /obj/item/reagent_containers/cup/glass/bottle/wine_voltaic, "reagent" = /datum/reagent/consumable/ethanol/wine_voltaic), + "Caccavo Guaranteed Quality Tequila" = list("bottlepath" = /obj/item/reagent_containers/cup/glass/bottle/tequila, "reagent" = /datum/reagent/consumable/ethanol/tequila), + "Captain Pete's Cuban Spiced Rum" = list("bottlepath" = /obj/item/reagent_containers/cup/glass/bottle/rum, "reagent" = /datum/reagent/consumable/ethanol/rum), + "Chateau De Baton Premium Cognac" = list("bottlepath" = /obj/item/reagent_containers/cup/glass/bottle/cognac, "reagent" = /datum/reagent/consumable/ethanol/cognac), + "Doublebeard's Bearded Special Wine" = list("bottlepath" = /obj/item/reagent_containers/cup/glass/bottle/wine, "reagent" = /datum/reagent/consumable/ethanol/wine), + "Extra-strong Absinthe" = list("bottlepath" = /obj/item/reagent_containers/cup/glass/bottle/absinthe, "reagent" = /datum/reagent/consumable/ethanol/absinthe), + "Goldeneye Vermouth" = list("bottlepath" = /obj/item/reagent_containers/cup/glass/bottle/vermouth, "reagent" = /datum/reagent/consumable/ethanol/vermouth), + "Griffeater Gin" = list("bottlepath" = /obj/item/reagent_containers/cup/glass/bottle/gin, "reagent" = /datum/reagent/consumable/ethanol/gin), + "Jian Hard Cider" = list("bottlepath" = /obj/item/reagent_containers/cup/glass/bottle/hcider, "reagent" = /datum/reagent/consumable/ethanol/hcider), + "Luini Amaretto" = list("bottlepath" = /obj/item/reagent_containers/cup/glass/bottle/amaretto, "reagent" = /datum/reagent/consumable/ethanol/amaretto), + "Magm-Ale" = list("bottlepath" = /obj/item/reagent_containers/cup/glass/bottle/ale, "reagent" = /datum/reagent/consumable/ethanol/ale), + "Phillipes Well-aged Grappa" = list("bottlepath" = /obj/item/reagent_containers/cup/glass/bottle/grappa, "reagent" = /datum/reagent/consumable/ethanol/grappa), + "Pride Of The Union Navy-Strength Rum" = list("bottlepath" = /obj/item/reagent_containers/cup/glass/bottle/navy_rum, "reagent" = /datum/reagent/consumable/ethanol/navy_rum), + "Rabid Bear Malt Liquor" = list("bottlepath" = /obj/item/reagent_containers/cup/glass/bottle/maltliquor, "reagent" = /datum/reagent/consumable/ethanol/beer/maltliquor), + "Robert Robust's Coffee Liqueur" = list("bottlepath" = /obj/item/reagent_containers/cup/glass/bottle/kahlua, "reagent" = /datum/reagent/consumable/ethanol/kahlua), + "Ryo's Traditional Sake " = list("bottlepath" = /obj/item/reagent_containers/cup/glass/bottle/sake, "reagent" = /datum/reagent/consumable/ethanol/sake), + "Space Beer" = list("bottlepath" = /obj/item/reagent_containers/cup/glass/bottle/beer, "reagent" = /datum/reagent/consumable/ethanol/beer), + "Tunguska Triple Distilled" = list("bottlepath" = /obj/item/reagent_containers/cup/glass/bottle/vodka, "reagent" = /datum/reagent/consumable/ethanol/vodka), + "Uncle Git's Special Reserve" = list("bottlepath" = /obj/item/reagent_containers/cup/glass/bottle/whiskey, "reagent" = /datum/reagent/consumable/ethanol/whiskey), + "Breezy Shoals Coconut Rum" = list("bottlepath" = /obj/item/reagent_containers/cup/glass/bottle/coconut_rum, "reagent" = /datum/reagent/consumable/ethanol/coconut_rum), + "Moonlabor Yūyake" = list("bottlepath" = /obj/item/reagent_containers/cup/glass/bottle/yuyake, "reagent" = /datum/reagent/consumable/ethanol/yuyake), + "Shu-Kouba Straight Shochu" = list("bottlepath" = /obj/item/reagent_containers/cup/glass/bottle/shochu, "reagent" = /datum/reagent/consumable/ethanol/shochu) +)) + +///Options for Prosthetic Organ +GLOBAL_LIST_INIT(organ_choice, list( + "Heart" = ORGAN_SLOT_HEART, + "Lungs" = ORGAN_SLOT_LUNGS, + "Liver" = ORGAN_SLOT_LIVER, + "Stomach" = ORGAN_SLOT_STOMACH, +)) diff --git a/code/_globalvars/phobias.dm b/code/_globalvars/phobias.dm index bfd3a6846f1..ea1d939351d 100644 --- a/code/_globalvars/phobias.dm +++ b/code/_globalvars/phobias.dm @@ -57,7 +57,7 @@ GLOBAL_LIST_INIT(phobia_regexes, list( GLOBAL_LIST_INIT(phobia_mobs, list( "aliens" = typecacheof(list( /mob/living/carbon/alien, - /mob/living/simple_animal/slime, + /mob/living/basic/slime, )), "anime" = typecacheof(list(/mob/living/basic/guardian)), "birds" = typecacheof(list( diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index a5c88d97dc6..368ae3a3840 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -257,7 +257,7 @@ /datum/config_entry/number/outdated_movedelay/alien_delay movedelay_type = /mob/living/carbon/alien /datum/config_entry/number/outdated_movedelay/slime_delay - movedelay_type = /mob/living/simple_animal/slime + movedelay_type = /mob/living/basic/slime /datum/config_entry/number/outdated_movedelay/animal_delay movedelay_type = /mob/living/simple_animal ///////////////////////////////////////////////// diff --git a/code/controllers/subsystem/dcs.dm b/code/controllers/subsystem/dcs.dm index e130b6dc0ff..eefbede3087 100644 --- a/code/controllers/subsystem/dcs.dm +++ b/code/controllers/subsystem/dcs.dm @@ -57,7 +57,7 @@ PROCESSING_SUBSYSTEM_DEF(dcs) var/datum/element/eletype = arguments[1] var/list/fullid = list(eletype) var/list/named_arguments - for(var/i in initial(eletype.argument_hash_start_idx) to length(arguments)) + for(var/i in initial(eletype.argument_hash_start_idx) to (initial(eletype.argument_hash_end_idx) || length(arguments))) var/key = arguments[i] if(istext(key)) diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index c96956bdb60..a3a03f8c244 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -493,8 +493,7 @@ SUBSYSTEM_DEF(ticker) /datum/controller/subsystem/ticker/proc/transfer_characters() var/list/livings = list() - for(var/i in GLOB.new_player_list) - var/mob/dead/new_player/player = i + for(var/mob/dead/new_player/player as anything in GLOB.new_player_list) var/mob/living = player.transfer_character() if(living) qdel(player) diff --git a/code/datums/ai/basic_mobs/basic_subtrees/use_mob_ability.dm b/code/datums/ai/basic_mobs/basic_subtrees/use_mob_ability.dm index 5ceef67bedb..a59a901d57d 100644 --- a/code/datums/ai/basic_mobs/basic_subtrees/use_mob_ability.dm +++ b/code/datums/ai/basic_mobs/basic_subtrees/use_mob_ability.dm @@ -14,7 +14,7 @@ if (!ability_key) CRASH("You forgot to tell this mob where to find its ability") - var/datum/action/cooldown/using_action = controller.blackboard[ability_key] + var/datum/action/using_action = controller.blackboard[ability_key] if (!using_action?.IsAvailable()) return @@ -25,7 +25,7 @@ /datum/ai_behavior/use_mob_ability /datum/ai_behavior/use_mob_ability/perform(seconds_per_tick, datum/ai_controller/controller, ability_key) - var/datum/action/cooldown/using_action = controller.blackboard[ability_key] + var/datum/action/using_action = controller.blackboard[ability_key] if (QDELETED(using_action)) finish_action(controller, FALSE, ability_key) return diff --git a/code/datums/ai/hunting_behavior/hunting_behaviors.dm b/code/datums/ai/hunting_behavior/hunting_behaviors.dm index 1615a28d53b..07fc84997a6 100644 --- a/code/datums/ai/hunting_behavior/hunting_behaviors.dm +++ b/code/datums/ai/hunting_behavior/hunting_behaviors.dm @@ -57,7 +57,7 @@ var/mob/living/living_mob = controller.pawn for(var/atom/possible_dinner as anything in typecache_filter_list(range(hunt_range, living_mob), types_to_hunt)) - if(!valid_dinner(living_mob, possible_dinner, hunt_range)) + if(!valid_dinner(living_mob, possible_dinner, hunt_range, controller, seconds_per_tick)) continue controller.set_blackboard_key(hunting_target_key, possible_dinner) finish_action(controller, TRUE, hunting_target_key) @@ -65,7 +65,7 @@ finish_action(controller, FALSE, hunting_target_key) -/datum/ai_behavior/find_hunt_target/proc/valid_dinner(mob/living/source, atom/dinner, radius) +/datum/ai_behavior/find_hunt_target/proc/valid_dinner(mob/living/source, atom/dinner, radius, datum/ai_controller/controller, seconds_per_tick) if(isliving(dinner)) var/mob/living/living_target = dinner if(living_target.stat == DEAD) //bitch is dead diff --git a/code/datums/components/fullauto.dm b/code/datums/components/fullauto.dm index 8663de5adc6..d8484dc3a11 100644 --- a/code/datums/components/fullauto.dm +++ b/code/datums/components/fullauto.dm @@ -9,11 +9,11 @@ var/autofire_stat = AUTOFIRE_STAT_IDLE var/mouse_parameters /// Time between individual shots. - var/autofire_shot_delay = 0.3 SECONDS + var/autofire_shot_delay = 0.3 SECONDS /// This seems hacky but there can be two MouseDown() without a MouseUp() in between if the user holds click and uses alt+tab, printscreen or similar. - var/mouse_status = AUTOFIRE_MOUSEUP + var/mouse_status = AUTOFIRE_MOUSEUP /// Should dual wielding be allowed? - var/allow_akimbo + var/allow_akimbo ///windup autofire vars ///Whether the delay between shots increases over time, simulating a spooling weapon @@ -259,7 +259,7 @@ current_windup_reduction = (current_windup_reduction + round(autofire_shot_delay * windup_autofire_reduction_multiplier)) timerid = addtimer(CALLBACK(src, PROC_REF(windup_reset), FALSE), windup_spindown, TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_STOPPABLE) if(HAS_TRAIT(shooter, TRAIT_DOUBLE_TAP)) - next_delay = round(next_delay * 0.5) + next_delay = round(next_delay * 0.5, SSprojectiles.wait) COOLDOWN_START(src, next_shot_cd, next_delay) if(SEND_SIGNAL(parent, COMSIG_AUTOFIRE_SHOT, target, shooter, allow_akimbo, mouse_parameters) & COMPONENT_AUTOFIRE_SHOT_SUCCESS) return TRUE diff --git a/code/datums/components/shielded.dm b/code/datums/components/shielded.dm index 8a46697745f..f35ad2ceec0 100644 --- a/code/datums/components/shielded.dm +++ b/code/datums/components/shielded.dm @@ -111,7 +111,7 @@ /datum/component/shielded/proc/on_equipped(datum/source, mob/user, slot) SIGNAL_HANDLER - if((slot & ITEM_SLOT_HANDS) && !shield_inhand) + if(user.is_holding(parent) && !shield_inhand) lost_wearer(source, user) return set_wearer(user) @@ -155,6 +155,14 @@ COOLDOWN_START(src, recently_hit_cd, recharge_start_delay) + //No wearer? No block. + if(isnull(wearer)) + return + + //if our wearer isn't the owner of the block, don't block + if(owner != wearer) + return + if(current_charges <= 0) return . = COMPONENT_HIT_REACTION_BLOCK diff --git a/code/datums/components/simple_bodycam.dm b/code/datums/components/simple_bodycam.dm index 2a6b0188972..81deb50649d 100644 --- a/code/datums/components/simple_bodycam.dm +++ b/code/datums/components/simple_bodycam.dm @@ -1,5 +1,6 @@ /// Simple component to integrate a bodycam into a mob /datum/component/simple_bodycam + dupe_mode = COMPONENT_DUPE_SELECTIVE /// The actual camera, in our mob's contents VAR_PRIVATE/obj/machinery/camera/bodycam /// How fast we update @@ -37,6 +38,17 @@ QDEL_NULL(bodycam) return ..() +/datum/component/simple_bodycam/CheckDupeComponent( + datum/component/simple_bodycam/new_bodycam, // will be null + camera_name, + c_tag, + network = "ss13", + emp_proof, + camera_update_time, +) + // Dupes are only allowed if we don't have a camera on that network already + return (network in bodycam.network) + /datum/component/simple_bodycam/proc/update_cam(datum/source, atom/old_loc, ...) SIGNAL_HANDLER diff --git a/code/datums/diseases/transformation.dm b/code/datums/diseases/transformation.dm index 334e21be4bd..83e7ac02534 100644 --- a/code/datums/diseases/transformation.dm +++ b/code/datums/diseases/transformation.dm @@ -242,7 +242,7 @@ stage3 = list(span_danger("Your appendages are melting away."), span_danger("Your limbs begin to lose their shape.")) stage4 = list(span_danger("You are turning into a slime.")) stage5 = list(span_danger("You have become a slime.")) - new_form = /mob/living/simple_animal/slime + new_form = /mob/living/basic/slime /datum/disease/transformation/slime/stage_act(seconds_per_tick, times_fired) @@ -266,7 +266,7 @@ if(affected_mob.client && ishuman(affected_mob)) // if they are a human who's not a monkey and are sentient, then let them have the old fun var/mob/living/carbon/human/human = affected_mob if(!ismonkey(human)) - new_form = /mob/living/simple_animal/slime/random + new_form = /mob/living/basic/slime/random return ..() /datum/disease/transformation/corgi diff --git a/code/datums/elements/_element.dm b/code/datums/elements/_element.dm index b2e021ad2be..fbb4d428dab 100644 --- a/code/datums/elements/_element.dm +++ b/code/datums/elements/_element.dm @@ -10,14 +10,20 @@ /** * The index of the first attach argument to consider for duplicate elements * - * All arguments from this index onwards (1 based) are hashed into the key to determine - * if this is a new unique element or one already exists + * All arguments from this index onwards (1 based, until `argument_hash_end_idx` is reached, if set) + * are hashed into the key to determine if this is a new unique element or one already exists * * Is only used when flags contains [ELEMENT_BESPOKE] * * This is infinity so you must explicitly set this */ var/argument_hash_start_idx = INFINITY + /** + * The index of the last attach argument to consider for duplicate elements + * Only used when `element_flags` contains [ELEMENT_BESPOKE]. + * If not set, it'll copy every argument from `argument_hash_start_idx` onwards as normal + */ + var/argument_hash_end_idx = 0 /// Activates the functionality defined by the element on the given target datum /datum/element/proc/Attach(datum/target) diff --git a/code/datums/elements/atmos_requirements.dm b/code/datums/elements/atmos_requirements.dm index 1ac10f02027..b4db40d6778 100644 --- a/code/datums/elements/atmos_requirements.dm +++ b/code/datums/elements/atmos_requirements.dm @@ -6,21 +6,29 @@ /datum/element/atmos_requirements element_flags = ELEMENT_BESPOKE argument_hash_start_idx = 2 + argument_hash_end_idx = 3 /// An assoc list of "what atmos does this mob require to survive in". var/list/atmos_requirements /// How much (brute) damage we take from being in unsuitable atmos. var/unsuitable_atmos_damage -/datum/element/atmos_requirements/Attach(datum/target, list/atmos_requirements, unsuitable_atmos_damage = 5) +/datum/element/atmos_requirements/Attach(datum/target, list/atmos_requirements, unsuitable_atmos_damage = 5, mapload = FALSE) . = ..() if(!isliving(target)) return ELEMENT_INCOMPATIBLE if(!atmos_requirements) - stack_trace("[type] added to [target] without any requirements specified.") + CRASH("[type] added to [target] without any requirements specified.") + var/list/short = atmos_requirements + if(!short["min_oxy"] && !short["max_oxy"] && !short["min_plas"] && !short["max_plas"] && !short["min_co2"] && !short["max_co2"] && !short["min_n2"] && !short["max_n2"]) + CRASH("[type] added to [target] with all requirements set to 0.") src.atmos_requirements = atmos_requirements src.unsuitable_atmos_damage = unsuitable_atmos_damage RegisterSignal(target, COMSIG_LIVING_HANDLE_BREATHING, PROC_REF(on_non_stasis_life)) + if(!mapload || !PERFORM_ALL_TESTS(focus_only/atmos_and_temp_requirements)) + return + check_safe_environment(target) + /datum/element/atmos_requirements/Detach(datum/target) . = ..() UnregisterSignal(target, COMSIG_LIVING_HANDLE_BREATHING) @@ -42,34 +50,45 @@ return TRUE var/turf/open/open_turf = target.loc - if(!open_turf.air && (atmos_requirements["min_oxy"] || atmos_requirements["min_tox"] || atmos_requirements["min_n2"] || atmos_requirements["min_co2"])) - return FALSE + if(isnull(open_turf.air)) + if(atmos_requirements["min_oxy"] || atmos_requirements["min_plas"] || atmos_requirements["min_n2"] || atmos_requirements["min_co2"]) + return FALSE + return TRUE + var/list/gases = get_atmos_req_list(open_turf) + + if(!ISINRANGE(gases["oxy"], atmos_requirements["min_oxy"], (atmos_requirements["max_oxy"] || INFINITY))) + return FALSE + if(!ISINRANGE(gases["plas"], atmos_requirements["min_plas"], (atmos_requirements["max_plas"] || INFINITY))) + return FALSE + if(!ISINRANGE(gases["n2"], atmos_requirements["min_n2"], (atmos_requirements["max_n2"] || INFINITY))) + return FALSE + if(!ISINRANGE(gases["co2"], atmos_requirements["min_co2"], (atmos_requirements["max_co2"] || INFINITY))) + return FALSE + return TRUE + +/datum/element/atmos_requirements/proc/get_atmos_req_list(turf/open/open_turf) var/open_turf_gases = open_turf.air.gases open_turf.air.assert_gases(/datum/gas/oxygen, /datum/gas/pluoxium, /datum/gas/nitrogen, /datum/gas/carbon_dioxide, /datum/gas/plasma) - var/plas = open_turf_gases[/datum/gas/plasma][MOLES] - var/oxy = open_turf_gases[/datum/gas/oxygen][MOLES] + (open_turf_gases[/datum/gas/pluoxium][MOLES] * PLUOXIUM_PROPORTION) - var/n2 = open_turf_gases[/datum/gas/nitrogen][MOLES] - var/co2 = open_turf_gases[/datum/gas/carbon_dioxide][MOLES] + var/list/return_gases = list() + return_gases["plas"] = open_turf_gases[/datum/gas/plasma][MOLES] + return_gases["oxy"] = open_turf_gases[/datum/gas/oxygen][MOLES] + (open_turf_gases[/datum/gas/pluoxium][MOLES] * PLUOXIUM_PROPORTION) + return_gases["n2"] = open_turf_gases[/datum/gas/nitrogen][MOLES] + return_gases["co2"] = open_turf_gases[/datum/gas/carbon_dioxide][MOLES] open_turf.air.garbage_collect() - if(atmos_requirements["min_oxy"] && oxy < atmos_requirements["min_oxy"]) - return FALSE - else if(atmos_requirements["max_oxy"] && oxy > atmos_requirements["max_oxy"]) - return FALSE - else if(atmos_requirements["min_plas"] && plas < atmos_requirements["min_plas"]) - return FALSE - else if(atmos_requirements["max_plas"] && plas > atmos_requirements["max_plas"]) - return FALSE - else if(atmos_requirements["min_n2"] && n2 < atmos_requirements["min_n2"]) - return FALSE - else if(atmos_requirements["max_n2"] && n2 > atmos_requirements["max_n2"]) - return FALSE - else if(atmos_requirements["min_co2"] && co2 < atmos_requirements["min_co2"]) - return FALSE - else if(atmos_requirements["max_co2"] && co2 > atmos_requirements["max_co2"]) - return FALSE + return return_gases - return TRUE +///Ensures that maploaded mobs are in a safe environment. Unit test stuff. +/datum/element/atmos_requirements/proc/check_safe_environment(mob/living/living_mob) + if(living_mob.stat == DEAD || is_breathable_atmos(living_mob)) + return + var/turf/open/open_turf = living_mob.loc + var/list/gases + var/string_text = "No Air" + if(open_turf.air) + gases = get_atmos_req_list(open_turf) + string_text = "O2: [gases["o2"]] - Plasma: [gases["plasma"]] - N2: [gases["n2"]] - CO2: [gases["co2"]]" + stack_trace("[living_mob] loaded on a turf with unsafe atmos at \[[open_turf.x], [open_turf.y], [open_turf.z]\] (area : [open_turf.loc]). Turf gases: [string_text]. Check the mob atmos requirements again.") diff --git a/code/datums/elements/basic_body_temp_sensitive.dm b/code/datums/elements/basic_body_temp_sensitive.dm deleted file mode 100644 index 8bb1cae8546..00000000000 --- a/code/datums/elements/basic_body_temp_sensitive.dm +++ /dev/null @@ -1,72 +0,0 @@ -/** - * When attached to a basic mob, it gives it the ability to be hurt by cold/hot body temperatures - */ -/datum/element/basic_body_temp_sensitive - element_flags = ELEMENT_BESPOKE - argument_hash_start_idx = 2 - - ///Min body temp - var/min_body_temp = 250 - ///Max body temp - var/max_body_temp = 350 - ////Damage when below min temp - var/cold_damage = 1 - ///Damage when above max temp - var/heat_damage = 1 - -/datum/element/basic_body_temp_sensitive/Attach(datum/target, min_body_temp, max_body_temp, cold_damage, heat_damage) - . = ..() - if(!isbasicmob(target)) - return ELEMENT_INCOMPATIBLE - - if(isnum(min_body_temp)) - src.min_body_temp = min_body_temp - - if(isnum(max_body_temp)) - src.max_body_temp = max_body_temp - - if(isnum(cold_damage)) - src.cold_damage = cold_damage - - if(isnum(heat_damage)) - src.heat_damage = heat_damage - - RegisterSignal(target, COMSIG_LIVING_LIFE, PROC_REF(on_life)) - -/datum/element/basic_body_temp_sensitive/Detach(datum/source) - if(source) - UnregisterSignal(source, COMSIG_LIVING_LIFE) - return ..() - - -/datum/element/basic_body_temp_sensitive/proc/on_life(datum/target, seconds_per_tick, times_fired) - SIGNAL_HANDLER - - var/mob/living/basic/basic_mob = target - var/gave_alert = FALSE - - if(basic_mob.bodytemperature < min_body_temp) - basic_mob.adjust_health(cold_damage * seconds_per_tick) - if(!basic_mob.has_status_effect(/datum/status_effect/inebriated)) - switch(cold_damage) - if(1 to 5) - basic_mob.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 1) - if(5 to 10) - basic_mob.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 2) - if(10 to INFINITY) - basic_mob.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 3) - gave_alert = TRUE - - else if(basic_mob.bodytemperature > max_body_temp) - basic_mob.adjust_health(heat_damage * seconds_per_tick) - switch(heat_damage) - if(1 to 5) - basic_mob.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/hot, 1) - if(5 to 10) - basic_mob.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/hot, 2) - if(10 to INFINITY) - basic_mob.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/hot, 3) - gave_alert = TRUE - - if(!gave_alert) - basic_mob.clear_alert(ALERT_TEMPERATURE) diff --git a/code/datums/elements/basic_health_examine.dm b/code/datums/elements/basic_health_examine.dm new file mode 100644 index 00000000000..c9c22eb5578 --- /dev/null +++ b/code/datums/elements/basic_health_examine.dm @@ -0,0 +1,37 @@ +///A simple element for basic mobs that prints out a custom damaged state message +/datum/element/basic_health_examine + element_flags = ELEMENT_BESPOKE + argument_hash_start_idx = 2 + ///Light amount of damage + var/light_damage_message + ///Heavy amount of damage + var/heavy_damage_message + ///Heavy damage threshold percentage + var/heavy_threshold + +/datum/element/basic_health_examine/Attach(datum/target, light_damage_message, heavy_damage_message, heavy_threshold) + . = ..() + if(!isbasicmob(target)) + return ELEMENT_INCOMPATIBLE + + src.light_damage_message = light_damage_message + src.heavy_damage_message = heavy_damage_message + src.heavy_threshold = heavy_threshold + + RegisterSignal(target, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine)) + +/datum/element/basic_health_examine/Detach(atom/movable/source) + UnregisterSignal(source, COMSIG_ATOM_EXAMINE) + return ..() + +/datum/element/basic_health_examine/proc/on_examine(mob/living/basic/source, mob/user, list/examine_list) + SIGNAL_HANDLER + + if(source.health == source.maxHealth) + return + + if(source.health < source.maxHealth * heavy_threshold) + examine_list += span_danger(heavy_damage_message) + return + + examine_list += span_danger(light_damage_message) diff --git a/code/datums/elements/body_temp_sensitive.dm b/code/datums/elements/body_temp_sensitive.dm new file mode 100644 index 00000000000..e3a694baed7 --- /dev/null +++ b/code/datums/elements/body_temp_sensitive.dm @@ -0,0 +1,86 @@ +/** + * When attached to a basic mob, it gives it the ability to be hurt by cold/hot body temperatures + */ +/datum/element/body_temp_sensitive + element_flags = ELEMENT_BESPOKE + argument_hash_start_idx = 2 + argument_hash_end_idx = 5 + + ///Min body temp + var/min_body_temp = 250 + ///Max body temp + var/max_body_temp = 350 + ////Damage when below min temp + var/cold_damage = 1 + ///Damage when above max temp + var/heat_damage = 1 + +/datum/element/body_temp_sensitive/Attach(datum/target, min_body_temp, max_body_temp, cold_damage, heat_damage, mapload = FALSE) + . = ..() + if(!isliving(target)) + return ELEMENT_INCOMPATIBLE + + if(isnum(min_body_temp)) + src.min_body_temp = min_body_temp + + if(isnum(max_body_temp)) + src.max_body_temp = max_body_temp + + if(isnum(cold_damage)) + src.cold_damage = cold_damage + + if(isnum(heat_damage)) + src.heat_damage = heat_damage + + RegisterSignal(target, COMSIG_LIVING_LIFE, PROC_REF(on_life)) + + if(!mapload || !PERFORM_ALL_TESTS(focus_only/atmos_and_temp_requirements)) + return + check_safe_environment(target) + +/datum/element/body_temp_sensitive/Detach(datum/source) + if(source) + UnregisterSignal(source, COMSIG_LIVING_LIFE) + return ..() + +/datum/element/body_temp_sensitive/proc/on_life(datum/target, seconds_per_tick, times_fired) + SIGNAL_HANDLER + + var/mob/living/living_mob = target + var/gave_alert = FALSE + + if(living_mob.bodytemperature < min_body_temp) + living_mob.adjustFireLoss(cold_damage * seconds_per_tick, forced = TRUE) + if(!living_mob.has_status_effect(/datum/status_effect/inebriated)) + switch(cold_damage) + if(1 to 5) + living_mob.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 1) + if(5 to 10) + living_mob.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 2) + if(10 to INFINITY) + living_mob.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 3) + gave_alert = TRUE + + else if(living_mob.bodytemperature > max_body_temp) + living_mob.adjustFireLoss(heat_damage * seconds_per_tick, forced = TRUE) + switch(heat_damage) + if(1 to 5) + living_mob.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/hot, 1) + if(5 to 10) + living_mob.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/hot, 2) + if(10 to INFINITY) + living_mob.throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/hot, 3) + gave_alert = TRUE + + if(!gave_alert) + living_mob.clear_alert(ALERT_TEMPERATURE) + +///Ensures that maploaded mobs are in a safe environment. Unit test stuff. +/datum/element/body_temp_sensitive/proc/check_safe_environment(mob/living/living_mob) + if(living_mob.stat == DEAD) + return + var/atom/location = living_mob.loc + var/datum/gas_mixture/environment = location.return_air() + var/areatemp = living_mob.get_temperature(environment) + if(!ISINRANGE(areatemp, min_body_temp, max_body_temp)) + stack_trace("[living_mob] loaded on in a loc with unsafe temperature at \[[location.x], [location.y], [location.z]\] (area : [get_area(location)]): [areatemp]K. Acceptable Range: [min_body_temp]K - [max_body_temp]K,") diff --git a/code/datums/greyscale/config_types/greyscale_configs/greyscale_clothes.dm b/code/datums/greyscale/config_types/greyscale_configs/greyscale_clothes.dm index 28b31b025cc..99812cfa59a 100644 --- a/code/datums/greyscale/config_types/greyscale_configs/greyscale_clothes.dm +++ b/code/datums/greyscale/config_types/greyscale_configs/greyscale_clothes.dm @@ -741,6 +741,15 @@ SKYRAT EDIT END */ name = "Well-Worn Shirt (Worn)" icon_file = 'icons/mob/clothing/suits/costume.dmi' +/datum/greyscale_config/wellworn_shirt_skub + name = "Well-Worn Shirt (Skub)" + icon_file = 'icons/obj/clothing/suits/costume.dmi' + json_config = 'code/datums/greyscale/json_configs/wellworn_shirt_skub.json' + +/datum/greyscale_config/wellworn_shirt_skub/worn + name = "Well-Worn Shirt (Skub)(Worn)" + icon_file = 'icons/mob/clothing/suits/costume.dmi' + /datum/greyscale_config/wellworn_shirt_graphic name = "Well-Worn Shirt (Graphic)" icon_file = 'icons/obj/clothing/suits/costume.dmi' @@ -788,3 +797,30 @@ SKYRAT EDIT END */ /datum/greyscale_config/gi/worn name = "Gi (Worn)" icon_file = 'icons/mob/clothing/under/costume.dmi' + +/datum/greyscale_config/jester_suit + name = "Jester Suit" + icon_file = 'icons/obj/clothing/under/civilian.dmi' + json_config = 'code/datums/greyscale/json_configs/jester_suit.json' + +/datum/greyscale_config/jester_suit/worn + name = "Jester Suit (Worn)" + icon_file = 'icons/mob/clothing/under/civilian.dmi' + +/datum/greyscale_config/jester_shoes + name = "Jester Shoes" + icon_file = 'icons/obj/clothing/shoes.dmi' + json_config = 'code/datums/greyscale/json_configs/jester_shoes.json' + +/datum/greyscale_config/jester_shoes/worn + name = "Jester Shoes (Worn)" + icon_file = 'icons/mob/clothing/feet.dmi' + +/datum/greyscale_config/jester_hat + name = "Jester Hat" + icon_file = 'icons/obj/clothing/head/costume.dmi' + json_config = 'code/datums/greyscale/json_configs/jester_hat.json' + +/datum/greyscale_config/jester_hat/worn + name = "Jester Hat (Worn)" + icon_file = 'icons/mob/clothing/head/costume.dmi' diff --git a/code/datums/greyscale/json_configs/jester_hat.json b/code/datums/greyscale/json_configs/jester_hat.json new file mode 100644 index 00000000000..b5147e7a009 --- /dev/null +++ b/code/datums/greyscale/json_configs/jester_hat.json @@ -0,0 +1,21 @@ +{ + "jester_map": [ + { + "type": "icon_state", + "icon_state": "jester_a", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "jester_b", + "blend_mode": "overlay", + "color_ids": [ 2 ] + }, + { + "type": "icon_state", + "icon_state": "jester_bells", + "blend_mode": "overlay" + } + ] +} diff --git a/code/datums/greyscale/json_configs/jester_shoes.json b/code/datums/greyscale/json_configs/jester_shoes.json new file mode 100644 index 00000000000..b5147e7a009 --- /dev/null +++ b/code/datums/greyscale/json_configs/jester_shoes.json @@ -0,0 +1,21 @@ +{ + "jester_map": [ + { + "type": "icon_state", + "icon_state": "jester_a", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "jester_b", + "blend_mode": "overlay", + "color_ids": [ 2 ] + }, + { + "type": "icon_state", + "icon_state": "jester_bells", + "blend_mode": "overlay" + } + ] +} diff --git a/code/datums/greyscale/json_configs/jester_suit.json b/code/datums/greyscale/json_configs/jester_suit.json new file mode 100644 index 00000000000..aac60f18be7 --- /dev/null +++ b/code/datums/greyscale/json_configs/jester_suit.json @@ -0,0 +1,16 @@ +{ + "jester_map": [ + { + "type": "icon_state", + "icon_state": "jester_a", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "jester_b", + "blend_mode": "overlay", + "color_ids": [ 2 ] + } + ] +} diff --git a/code/datums/greyscale/json_configs/wellworn_shirt_skub.json b/code/datums/greyscale/json_configs/wellworn_shirt_skub.json new file mode 100644 index 00000000000..6f6ed3fb1f1 --- /dev/null +++ b/code/datums/greyscale/json_configs/wellworn_shirt_skub.json @@ -0,0 +1,28 @@ +{ + "wellworn_shirt_pro_skub": [ + { + "type": "icon_state", + "icon_state": "worn_out", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "skub_overlay", + "blend_mode": "overlay" + } + ], + "wellworn_shirt_anti_skub": [ + { + "type": "icon_state", + "icon_state": "worn_out", + "blend_mode": "overlay", + "color_ids": [ 1 ] + }, + { + "type": "icon_state", + "icon_state": "anti_skub_overlay", + "blend_mode": "overlay" + } + ] +} diff --git a/code/datums/quirks/negative_quirks/junkie.dm b/code/datums/quirks/negative_quirks/addict.dm similarity index 70% rename from code/datums/quirks/negative_quirks/junkie.dm rename to code/datums/quirks/negative_quirks/addict.dm index 2ce29f743c3..f97dae32c26 100644 --- a/code/datums/quirks/negative_quirks/junkie.dm +++ b/code/datums/quirks/negative_quirks/addict.dm @@ -1,14 +1,9 @@ -/datum/quirk/item_quirk/junkie - name = "Junkie" - desc = "You can't get enough of hard drugs." - icon = FA_ICON_PILLS - value = -6 - gain_text = span_danger("You suddenly feel the craving for drugs.") - medical_record_text = "Patient has a history of hard drugs." - hardcore_value = 4 - quirk_flags = QUIRK_HUMAN_ONLY|QUIRK_PROCESSES - mail_goodies = list(/obj/effect/spawner/random/contraband/narcotics) - var/drug_list = list(/datum/reagent/drug/blastoff, /datum/reagent/drug/krokodil, /datum/reagent/medicine/morphine, /datum/reagent/drug/happiness, /datum/reagent/drug/methamphetamine) //List of possible IDs +/datum/quirk/item_quirk/addict + name = "Addict" + desc = "You are addicted to something that doesn't exist. Suffer." + gain_text = span_danger("You suddenly feel the craving for... something? You're not sure what it is.") + medical_record_text = "Patient has a history with SOMETHING but he refuses to tell us what it is." + abstract_parent_type = /datum/quirk/item_quirk/addict var/datum/reagent/reagent_type //!If this is defined, reagent_id will be unused and the defined reagent type will be instead. var/datum/reagent/reagent_instance //! actual instanced version of the reagent var/where_drug //! Where the drug spawned @@ -17,13 +12,13 @@ var/obj/item/accessory_type //! If this is null, an accessory won't be spawned. var/process_interval = 30 SECONDS //! how frequently the quirk processes var/next_process = 0 //! ticker for processing - var/drug_flavour_text = "Better hope you don't run out..." + var/drug_flavour_text = "Better hope you don't run out... of what, exactly? You don't know." -/datum/quirk/item_quirk/junkie/add_unique(client/client_source) +/datum/quirk/item_quirk/addict/add_unique(client/client_source) var/mob/living/carbon/human/human_holder = quirk_holder if(!reagent_type) - reagent_type = pick(drug_list) + reagent_type = GLOB.possible_junkie_addictions[pick(GLOB.possible_junkie_addictions)] reagent_instance = new reagent_type() @@ -65,12 +60,7 @@ ) ) -/datum/quirk/item_quirk/junkie/remove() - if(quirk_holder && reagent_instance) - for(var/addiction_type in subtypesof(/datum/addiction)) - quirk_holder.mind.remove_addiction_points(addiction_type, MAX_ADDICTION_POINTS) - -/datum/quirk/item_quirk/junkie/process(seconds_per_tick) +/datum/quirk/item_quirk/addict/process(seconds_per_tick) if(HAS_TRAIT(quirk_holder, TRAIT_LIVERLESS_METABOLISM)) return var/mob/living/carbon/human/human_holder = quirk_holder @@ -88,7 +78,35 @@ for(var/addiction in reagent_instance.addiction_types) human_holder.last_mind?.add_addiction_points(addiction, 1000) ///Max that shit out -/datum/quirk/item_quirk/junkie/smoker +/datum/quirk/item_quirk/addict/junkie + name = "Junkie" + desc = "You can't get enough of hard drugs." + icon = FA_ICON_PILLS + value = -6 + gain_text = span_danger("You suddenly feel the craving for drugs.") + medical_record_text = "Patient has a history of hard drugs." + hardcore_value = 4 + quirk_flags = QUIRK_HUMAN_ONLY|QUIRK_PROCESSES + mail_goodies = list(/obj/effect/spawner/random/contraband/narcotics) + drug_flavour_text = "Better hope you don't run out..." + +/datum/quirk_constant_data/junkie + associated_typepath = /datum/quirk/item_quirk/addict/junkie + customization_options = list(/datum/preference/choiced/junkie) + +/datum/quirk/item_quirk/addict/junkie/add_unique(client/client_source) + + var/addiction = client_source?.prefs.read_preference(/datum/preference/choiced/junkie) + if(addiction && (addiction != "Random")) + reagent_type = GLOB.possible_junkie_addictions[addiction] + return ..() + +/datum/quirk/item_quirk/addict/remove() + if(quirk_holder && reagent_instance) + for(var/addiction_type in subtypesof(/datum/addiction)) + quirk_holder.mind.remove_addiction_points(addiction_type, MAX_ADDICTION_POINTS) + +/datum/quirk/item_quirk/addict/smoker name = "Smoker" desc = "Sometimes you just really want a smoke. Probably not great for your lungs." icon = FA_ICON_SMOKING @@ -108,17 +126,21 @@ /obj/item/clothing/mask/cigarette/pipe, ) -/datum/quirk/item_quirk/junkie/smoker/New() - drug_container_type = pick(/obj/item/storage/fancy/cigarettes, - /obj/item/storage/fancy/cigarettes/cigpack_midori, - /obj/item/storage/fancy/cigarettes/cigpack_uplift, - /obj/item/storage/fancy/cigarettes/cigpack_robust, - /obj/item/storage/fancy/cigarettes/cigpack_robustgold, - /obj/item/storage/fancy/cigarettes/cigpack_carp) +/datum/quirk_constant_data/smoker + associated_typepath = /datum/quirk/item_quirk/addict/smoker + customization_options = list(/datum/preference/choiced/smoker) +/datum/quirk/item_quirk/addict/smoker/New() + drug_container_type = GLOB.possible_smoker_addictions[pick(GLOB.possible_smoker_addictions)] return ..() -/datum/quirk/item_quirk/junkie/smoker/post_add() +/datum/quirk/item_quirk/addict/smoker/add_unique(client/client_source) + var/addiction = client_source?.prefs.read_preference(/datum/preference/choiced/smoker) + if(addiction && (addiction != "Random")) + drug_container_type = GLOB.possible_smoker_addictions[addiction] + return ..() + +/datum/quirk/item_quirk/addict/smoker/post_add() . = ..() quirk_holder.add_mob_memory(/datum/memory/key/quirk_smoker, protagonist = quirk_holder, preferred_brand = initial(drug_container_type.name)) // smoker lungs have 25% less health and healing @@ -136,7 +158,7 @@ smoker_lungs = new smoker_lungs smoker_lungs.Insert(carbon_holder, special = TRUE, movement_flags = DELETE_IF_REPLACED) -/datum/quirk/item_quirk/junkie/smoker/process(seconds_per_tick) +/datum/quirk/item_quirk/addict/smoker/process(seconds_per_tick) . = ..() var/mob/living/carbon/human/human_holder = quirk_holder var/obj/item/mask_item = human_holder.get_item_by_slot(ITEM_SLOT_MASK) @@ -147,7 +169,7 @@ else quirk_holder.add_mood_event("wrong_cigs", /datum/mood_event/wrong_brand) -/datum/quirk/item_quirk/junkie/alcoholic +/datum/quirk/item_quirk/addict/alcoholic name = "Alcoholic" desc = "You just can't live without alcohol. Your liver is a machine that turns ethanol into acetaldehyde." icon = FA_ICON_WINE_GLASS @@ -167,31 +189,31 @@ /// Cached typepath of the owner's favorite alcohol reagent var/datum/reagent/consumable/ethanol/favorite_alcohol -/datum/quirk/item_quirk/junkie/alcoholic/New() - drug_container_type = pick( - /obj/item/reagent_containers/cup/glass/bottle/whiskey, - /obj/item/reagent_containers/cup/glass/bottle/vodka, - /obj/item/reagent_containers/cup/glass/bottle/ale, - /obj/item/reagent_containers/cup/glass/bottle/beer, - /obj/item/reagent_containers/cup/glass/bottle/hcider, - /obj/item/reagent_containers/cup/glass/bottle/wine, - /obj/item/reagent_containers/cup/glass/bottle/sake, - ) +/datum/quirk_constant_data/alcoholic + associated_typepath = /datum/quirk/item_quirk/addict/alcoholic + customization_options = list(/datum/preference/choiced/alcoholic) +/datum/quirk/item_quirk/addict/alcoholic/New() + var/random_alcohol = pick(GLOB.possible_alcoholic_addictions) + drug_container_type = GLOB.possible_alcoholic_addictions[random_alcohol]["bottlepath"] + favorite_alcohol = GLOB.possible_alcoholic_addictions[random_alcohol]["reagent"] return ..() -/datum/quirk/item_quirk/junkie/alcoholic/post_add() +/datum/quirk/item_quirk/addict/alcoholic/add_unique(client/client_source) + var/addiction = client_source?.prefs.read_preference(/datum/preference/choiced/alcoholic) + if(addiction && (addiction != "Random")) + drug_container_type = GLOB.possible_alcoholic_addictions[addiction]["bottlepath"] + favorite_alcohol = GLOB.possible_alcoholic_addictions[addiction]["reagent"] + return ..() + +/datum/quirk/item_quirk/addict/alcoholic/post_add() . = ..() RegisterSignal(quirk_holder, COMSIG_MOB_REAGENT_CHECK, PROC_REF(check_brandy)) - - var/obj/item/reagent_containers/brandy_container = GLOB.alcohol_containers[drug_container_type] + var/obj/item/reagent_containers/brandy_container = drug_container_type if(isnull(brandy_container)) stack_trace("Alcoholic quirk added while the GLOB.alcohol_containers is (somehow) not initialized!") brandy_container = new drug_container_type - favorite_alcohol = brandy_container.list_reagents[1] qdel(brandy_container) - else - favorite_alcohol = brandy_container.list_reagents[1] quirk_holder.add_mob_memory(/datum/memory/key/quirk_alcoholic, protagonist = quirk_holder, preferred_brandy = initial(favorite_alcohol.name)) // alcoholic livers have 25% less health and healing @@ -200,10 +222,10 @@ alcohol_liver.maxHealth = alcohol_liver.maxHealth * 0.75 alcohol_liver.healing_factor = alcohol_liver.healing_factor * 0.75 -/datum/quirk/item_quirk/junkie/alcoholic/remove() +/datum/quirk/item_quirk/addict/alcoholic/remove() UnregisterSignal(quirk_holder, COMSIG_MOB_REAGENT_CHECK) -/datum/quirk/item_quirk/junkie/alcoholic/proc/check_brandy(mob/source, datum/reagent/booze) +/datum/quirk/item_quirk/addict/alcoholic/proc/check_brandy(mob/source, datum/reagent/booze) SIGNAL_HANDLER //we don't care if it is not alcohol diff --git a/code/datums/quirks/negative_quirks/all_nighter.dm b/code/datums/quirks/negative_quirks/all_nighter.dm index 0062537fde8..7f9f051ecf7 100644 --- a/code/datums/quirks/negative_quirks/all_nighter.dm +++ b/code/datums/quirks/negative_quirks/all_nighter.dm @@ -30,30 +30,40 @@ ///adds the corresponding moodlet and visual effects /datum/quirk/all_nighter/add(client/client_source) + RegisterSignal(quirk_holder, COMSIG_CARBON_REMOVE_LIMB, PROC_REF(on_removed_limb)) quirk_holder.add_mood_event("all_nighter", /datum/mood_event/all_nighter) add_bags() ///removes the corresponding moodlet and visual effects /datum/quirk/all_nighter/remove(client/client_source) + UnregisterSignal(quirk_holder, COMSIG_CARBON_REMOVE_LIMB) quirk_holder.clear_mood_event("all_nighter", /datum/mood_event/all_nighter) - remove_bags() + if(bodypart_overlay) + remove_bags() + +///if we have bags and lost a head, remove them +/datum/quirk/all_nighter/proc/on_removed_limb(datum/source, obj/item/bodypart/removed_limb, special, dismembered) + if(bodypart_overlay && istype(removed_limb, /obj/item/bodypart/head)) + remove_bags() ///adds the bag overlay -/datum/quirk/all_nighter/proc/add_bags(client/client_source) +/datum/quirk/all_nighter/proc/add_bags() var/mob/living/carbon/human/sleepy_head = quirk_holder - var/obj/item/bodypart/head/face = sleepy_head.get_bodypart(BODY_ZONE_HEAD) + var/obj/item/bodypart/head/face = sleepy_head?.get_bodypart(BODY_ZONE_HEAD) + if(isnull(face)) + return bodypart_overlay = new() //creates our overlay face.add_bodypart_overlay(bodypart_overlay) sleepy_head.update_body_parts() //make sure to update icon ///removes the bag overlay -/datum/quirk/all_nighter/proc/remove_bags(client/client_source) +/datum/quirk/all_nighter/proc/remove_bags() var/mob/living/carbon/human/sleepy_head = quirk_holder - var/obj/item/bodypart/head/face = sleepy_head.get_bodypart(BODY_ZONE_HEAD) - //our overlay is stored as a datum var, so referencing it is easy - face.remove_bodypart_overlay(bodypart_overlay) + var/obj/item/bodypart/head/face = sleepy_head?.get_bodypart(BODY_ZONE_HEAD) + if(face) + face.remove_bodypart_overlay(bodypart_overlay) + sleepy_head.update_body_parts() QDEL_NULL(bodypart_overlay) - sleepy_head.update_body_parts() /** *Here we actively handle our moodlet & eye bags, adding/removing them as necessary diff --git a/code/datums/quirks/negative_quirks/prosthetic_organ.dm b/code/datums/quirks/negative_quirks/prosthetic_organ.dm index 0fd5061a787..cd7ca2a8014 100644 --- a/code/datums/quirks/negative_quirks/prosthetic_organ.dm +++ b/code/datums/quirks/negative_quirks/prosthetic_organ.dm @@ -12,6 +12,10 @@ /// The original organ from before the prosthetic was applied var/obj/item/organ/old_organ +/datum/quirk_constant_data/prosthetic_organ + associated_typepath = /datum/quirk/prosthetic_organ + customization_options = list(/datum/preference/choiced/prosthetic_organ) + /datum/quirk/prosthetic_organ/add_unique(client/client_source) var/mob/living/carbon/human/human_holder = quirk_holder var/static/list/organ_slots = list( @@ -20,6 +24,10 @@ ORGAN_SLOT_LIVER, ORGAN_SLOT_STOMACH, ) + var/preferred_organ = GLOB.organ_choice[client_source?.prefs?.read_preference(/datum/preference/choiced/prosthetic_organ)] + if(isnull(preferred_organ)) //Client is gone or they chose a random prosthetic + preferred_organ = GLOB.organ_choice[pick(GLOB.organ_choice)] + var/list/possible_organ_slots = organ_slots.Copy() if(HAS_TRAIT(human_holder, TRAIT_NOBLOOD)) possible_organ_slots -= ORGAN_SLOT_HEART @@ -31,7 +39,10 @@ possible_organ_slots -= ORGAN_SLOT_STOMACH if(!length(organ_slots)) //what the hell return + var/organ_slot = pick(possible_organ_slots) + if(preferred_organ in possible_organ_slots) + organ_slot = preferred_organ var/obj/item/organ/prosthetic switch(organ_slot) if(ORGAN_SLOT_HEART) @@ -47,14 +58,14 @@ prosthetic = new /obj/item/organ/internal/stomach/cybernetic/surplus slot_string = "stomach" medical_record_text = "During physical examination, patient was found to have a low-budget prosthetic [slot_string]. \ - Removal of these organs is known to be dangerous to the patient as well as the practitioner." + Removal of these organs is known to be dangerous to the patient as well as the practitioner." old_organ = human_holder.get_organ_slot(organ_slot) if(prosthetic.Insert(human_holder, special = TRUE)) old_organ.moveToNullspace() STOP_PROCESSING(SSobj, old_organ) /datum/quirk/prosthetic_organ/post_add() - to_chat(quirk_holder, span_boldannounce("Your [slot_string] has been replaced with a surplus organ. It is fragile and will easily come apart under duress. \ + to_chat(quirk_holder, span_boldannounce("Your [slot_string] has been replaced with a surplus organ. It is weak and highly unstable. \ Additionally, any EMP will make it stop working entirely.")) /datum/quirk/prosthetic_organ/remove() diff --git a/code/datums/records/manifest.dm b/code/datums/records/manifest.dm index 0d3144ce406..f1f81b521f8 100644 --- a/code/datums/records/manifest.dm +++ b/code/datums/records/manifest.dm @@ -166,8 +166,6 @@ GLOBAL_DATUM_INIT(manifest, /datum/manifest, new) // SKYRAT EDIT END ) - return - /// Edits the rank and trim of the found record. /datum/manifest/proc/modify(name, assignment, trim) var/datum/record/crew/target = find_record(name) @@ -177,6 +175,22 @@ GLOBAL_DATUM_INIT(manifest, /datum/manifest, new) target.rank = assignment target.trim = trim +/** + * Using the name to find the record, and person in reference to the body, we recreate photos for the manifest (and records). + * Args: + * - name - The name of the record we're looking for, which should be the name of the person. + * - person - The mob we're taking pictures of to update the records. + * - add_height_chart - If we should add a height chart to the background of the photo. + */ +/datum/manifest/proc/change_pictures(name, mob/living/person, add_height_chart = FALSE) + var/datum/record/crew/target = find_record(name) + if(!target) + return FALSE + + target.character_appearance = new(person.appearance) + target.recreate_manifest_photos(add_height_chart) + return TRUE + /datum/manifest/ui_state(mob/user) return GLOB.always_state diff --git a/code/datums/records/record.dm b/code/datums/records/record.dm index 276865115e4..cf10e62bdcd 100644 --- a/code/datums/records/record.dm +++ b/code/datums/records/record.dm @@ -84,6 +84,9 @@ /// Current arrest status var/wanted_status = WANTED_NONE + ///Photo used for records, which we store here so we don't have to constantly make more of. + var/list/obj/item/photo/record_photos + /datum/record/crew/New( age = 18, blood_type = "?", @@ -134,6 +137,7 @@ /datum/record/crew/Destroy() GLOB.manifest.general -= src + QDEL_LAZYLIST(record_photos) return ..() /** @@ -184,6 +188,20 @@ /datum/record/crew/proc/get_side_photo() return get_photo("photo_side", WEST) +/// A helper proc to recreate all photos of a character from the record. +/datum/record/crew/proc/recreate_manifest_photos(add_height_chart) + delete_photos("photo_front") + make_photo("photo_front", SOUTH, add_height_chart) + delete_photos("photo_side") + make_photo("photo_side", WEST, add_height_chart) + +///Deletes the existing photo for field_name +/datum/record/crew/proc/delete_photos(field_name) + var/obj/item/photo/existing_photo = LAZYACCESS(record_photos, field_name) + if(existing_photo) + qdel(existing_photo) + LAZYREMOVE(record_photos, field_name) + /** * You shouldn't be calling this directly, use `get_front_photo()` or `get_side_photo()` * instead. @@ -202,18 +220,29 @@ * Returns an empty `/icon` if there was no `character_appearance` entry in the `fields` list, * returns the generated/cached photo otherwise. */ -/datum/record/crew/proc/get_photo(field_name, orientation) +/datum/record/crew/proc/get_photo(field_name, orientation = SOUTH) if(!field_name) return - if(!character_appearance) return new /icon() + var/obj/item/photo/existing_photo = LAZYACCESS(record_photos, field_name) + if(!existing_photo) + existing_photo = make_photo(field_name, orientation) + return existing_photo +/** + * make_photo + * + * Called if the person doesn't already have a photo, this will make a photo of the person, + * then make a picture out of it, then finally create a new photo. + */ +/datum/record/crew/proc/make_photo(field_name, orientation, add_height_chart) var/icon/picture_image if(!isicon(character_appearance)) var/mutable_appearance/appearance = character_appearance appearance.setDir(orientation) - + if(add_height_chart) + appearance.underlays += mutable_appearance('icons/obj/machines/photobooth.dmi', "height_chart", alpha = 125, appearance_flags = RESET_ALPHA|RESET_COLOR|RESET_TRANSFORM) picture_image = getFlatIcon(appearance) else picture_image = character_appearance @@ -223,9 +252,10 @@ picture.picture_desc = "This is [name]." picture.picture_image = picture_image - var/obj/item/photo/photo = new(null, picture) - field_name = photo - return photo + var/obj/item/photo/new_photo = new(null, picture) + + LAZYSET(record_photos, field_name, new_photo) + return new_photo /// Returns a paper printout of the current record's crime data. /datum/record/crew/proc/get_rapsheet(alias, header = "Rapsheet", description = "No further details.") diff --git a/code/datums/station_traits/neutral_traits.dm b/code/datums/station_traits/neutral_traits.dm index 6d782a3a968..9df85756c21 100644 --- a/code/datums/station_traits/neutral_traits.dm +++ b/code/datums/station_traits/neutral_traits.dm @@ -104,7 +104,7 @@ /datum/station_trait/glitched_pdas name = "PDA glitch" trait_type = STATION_TRAIT_NEUTRAL - weight = 10 + weight = 5 show_in_report = TRUE cost = STATION_TRAIT_COST_MINIMAL report_message = "Something seems to be wrong with the PDAs issued to you all this shift. Nothing too bad though." @@ -283,7 +283,7 @@ /datum/station_trait/scarves name = "Scarves" trait_type = STATION_TRAIT_NEUTRAL - weight = 10 + weight = 5 cost = STATION_TRAIT_COST_MINIMAL show_in_report = TRUE var/list/scarves @@ -317,7 +317,7 @@ name = "Wallets!" trait_type = STATION_TRAIT_NEUTRAL show_in_report = TRUE - weight = 10 + weight = 5 cost = STATION_TRAIT_COST_MINIMAL report_message = "It has become temporarily fashionable to use a wallet, so everyone on the station has been issued one." @@ -429,3 +429,136 @@ ai_datum.spawn_positions = 3 ai_datum.total_positions = 3 + +#define PRO_SKUB "pro-skub" +#define ANTI_SKUB "anti-skub" +#define SKUB_IDFC "i don't frikkin' care" +#define RANDOM_SKUB null //This means that if you forgot to opt in/against/out, there's a 50/50 chance to be pro or anti + +/// A trait that lets players choose whether they want pro-skub or anti-skub (or neither), and receive the appropriate equipment. +/datum/station_trait/skub + name = "The Great Skub Contention" + trait_type = STATION_TRAIT_NEUTRAL + show_in_report = FALSE + weight = 2 + sign_up_button = TRUE + /// List of people signed up to be either pro_skub or anti_skub + var/list/skubbers = list() + +/datum/station_trait/skub/New() + . = ..() + RegisterSignal(SSdcs, COMSIG_GLOB_JOB_AFTER_SPAWN, PROC_REF(on_job_after_spawn)) + +/* SKYRAT EDIT -- REMOVAL -- I swear, we need to update our UI in near future to account for the new buttons and shit +/datum/station_trait/skub/setup_lobby_button(atom/movable/screen/lobby/button/sign_up/lobby_button) + RegisterSignal(lobby_button, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(on_lobby_button_update_overlays)) + lobby_button.desc = "Are you pro-skub or anti-skub? Click to cycle through pro-skub, anti-skub, random and neutral." + return ..() + +/// Let late-joiners jump on this gimmick too. +/datum/station_trait/skub/can_display_lobby_button(client/player) + return sign_up_button + +/// We don't destroy buttons on round start for those who are still in the lobby. +/datum/station_trait/skub/on_round_start() + return + +/datum/station_trait/skub/on_lobby_button_update_icon(atom/movable/screen/lobby/button/sign_up/lobby_button, location, control, params, mob/dead/new_player/user) + var/mob/player = lobby_button.get_mob() + var/skub_stance = skubbers[player.ckey] + switch(skub_stance) + if(PRO_SKUB) + lobby_button.base_icon_state = "signup_on" + if(ANTI_SKUB) + lobby_button.base_icon_state = "signup" + else + lobby_button.base_icon_state = "signup_neutral" + +/datum/station_trait/skub/on_lobby_button_click(atom/movable/screen/lobby/button/sign_up/lobby_button, updates) + var/mob/player = lobby_button.get_mob() + var/skub_stance = skubbers[player.ckey] + switch(skub_stance) + if(PRO_SKUB) + skubbers[player.ckey] = ANTI_SKUB + lobby_button.balloon_alert(player, "anti-skub") + if(ANTI_SKUB) + skubbers[player.ckey] = SKUB_IDFC + lobby_button.balloon_alert(player, "don't care") + if(SKUB_IDFC) + skubbers[player.ckey] = RANDOM_SKUB + lobby_button.balloon_alert(player, "on the best side") + if(RANDOM_SKUB) + skubbers[player.ckey] = PRO_SKUB + lobby_button.balloon_alert(player, "pro-skub") + +/datum/station_trait/skub/proc/on_lobby_button_update_overlays(atom/movable/screen/lobby/button/sign_up/lobby_button, list/overlays) + SIGNAL_HANDLER + var/mob/player = lobby_button.get_mob() + var/skub_stance = skubbers[player.ckey] + switch(skub_stance) + if(PRO_SKUB) + overlays += "pro_skub" + if(ANTI_SKUB) + overlays += "anti_skub" + if(SKUB_IDFC) + overlays += "neutral_skub" + if(RANDOM_SKUB) + overlays += "random_skub" +*/ +/datum/station_trait/skub/proc/on_job_after_spawn(datum/source, datum/job/job, mob/living/spawned, client/player_client) + SIGNAL_HANDLER + + var/skub_stance = skubbers[player_client.ckey] + if(skub_stance == SKUB_IDFC) + return + + if((skub_stance == RANDOM_SKUB && prob(50)) || skub_stance == PRO_SKUB) + var/obj/item/storage/box/skub/boxie = new(spawned.loc) + spawned.equip_to_slot_if_possible(boxie, ITEM_SLOT_BACKPACK, indirect_action = TRUE) + if(ishuman(spawned)) + var/obj/item/clothing/suit/costume/wellworn_shirt/skub/shirt = new(spawned.loc) + if(!spawned.equip_to_slot_if_possible(shirt, ITEM_SLOT_OCLOTHING, indirect_action = TRUE)) + shirt.forceMove(boxie) + return + + var/obj/item/storage/box/stickers/anti_skub/boxie = new(spawned.loc) + spawned.equip_to_slot_if_possible(boxie, ITEM_SLOT_BACKPACK, indirect_action = TRUE) + if(!ishuman(spawned)) + return + var/obj/item/clothing/suit/costume/wellworn_shirt/skub/anti/shirt = new(spawned.loc) + if(!spawned.equip_to_slot_if_possible(shirt, ITEM_SLOT_OCLOTHING, indirect_action = TRUE)) + shirt.forceMove(boxie) + +/// A box containing a skub, for easier carry because skub is a bulky item. +/obj/item/storage/box/skub + name = "skub box" + desc = "A box to store your skub and pro-skub shirt in. A label on the back reads: \"Skubtide, Stationwide\"." + icon_state = "hugbox" + illustration = "skub" + +/obj/item/storage/box/skub/Initialize(mapload) + . = ..() + atom_storage.exception_hold = typecacheof(list(/obj/item/skub, /obj/item/clothing/suit/costume/wellworn_shirt/skub)) + +/obj/item/storage/box/skub/PopulateContents() + new /obj/item/skub(src) + new /obj/item/sticker/skub(src) + new /obj/item/sticker/skub(src) + +/obj/item/storage/box/stickers/anti_skub + name = "anti-skub stickers box" + desc = "The enemy may have been given a skub and a shirt, but I've more stickers! Plus the box can hold my anti-skub shirt." + +/obj/item/storage/box/stickers/anti_skub/Initialize(mapload) + . = ..() + atom_storage.exception_hold = typecacheof(list(/obj/item/clothing/suit/costume/wellworn_shirt/skub)) + +/obj/item/storage/box/stickers/anti_skub/PopulateContents() + for(var/i in 1 to 4) + new /obj/item/sticker/anti_skub(src) + +#undef PRO_SKUB +#undef ANTI_SKUB +#undef SKUB_IDFC +#undef RANDOM_SKUB + diff --git a/code/datums/status_effects/debuffs/slime/slime_food.dm b/code/datums/status_effects/debuffs/slime/slime_food.dm new file mode 100644 index 00000000000..aa711bb878f --- /dev/null +++ b/code/datums/status_effects/debuffs/slime/slime_food.dm @@ -0,0 +1,65 @@ +///Adds pheromones to a mob. If the target slime drains the mob to death, they might befriend the user +/datum/status_effect/slime_food + id = "slime_food" + alert_type = null + var/befriend_chance = 30 + var/mob/living/carbon/human/feeder + +/datum/status_effect/slime_food/on_creation(mob/living/new_owner, mob/living/carbon/human/feeder, befriend_chance = 100) + src.befriend_chance = befriend_chance + src.feeder = feeder + return ..() + +/datum/status_effect/slime_food/on_apply() + if(isnull(feeder)) + return FALSE + + if(!ishuman(feeder)) //don't give the AI pheromones + return FALSE + + RegisterSignal(feeder, COMSIG_QDELETING, PROC_REF(on_feeder_deleted)) + RegisterSignal(owner, COMSIG_COMPONENT_CLEAN_ACT, PROC_REF(on_feeder_deleted)) + RegisterSignal(owner, COMSIG_SLIME_DRAINED, PROC_REF(on_drained)) + RegisterSignal(owner, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine)) + + return ..() + +///Handles the source of the pheromones getting deleted, or the owner getting washed +/datum/status_effect/slime_food/proc/on_feeder_deleted(datum/source) + SIGNAL_HANDLER + qdel(src) + +///Gaze upon the target +/datum/status_effect/slime_food/proc/on_examine(datum/source, mob/user, list/examine_list) + SIGNAL_HANDLER + if(user == feeder) + examine_list += span_boldnotice("Their smell reminds you of serenity and yourself.") + else + examine_list += span_boldnotice("Their smell reminds you of serenity and [feeder].") + +///Handles a slime completely draining someone +/datum/status_effect/slime_food/proc/on_drained(datum/source, mob/living/basic/slime/draining_slime) + SIGNAL_HANDLER + if(isnull(draining_slime) || !isslime(draining_slime)) + qdel(src) + return + + if(!prob(befriend_chance) || draining_slime.ai_controller.blackboard[BB_SLIME_RABID]) + qdel(src) + return + + draining_slime.befriend(feeder) + new /obj/effect/temp_visual/heart(draining_slime.loc) + qdel(src) + +/datum/status_effect/slime_food/on_remove() + feeder = null + +/datum/status_effect/slime_food/update_particles() + if(particle_effect) + return + + particle_effect = new(owner, /particles/pollen) + + //particle coloured like the "pheromones" of the feeder + particle_effect.particles.color = "[feeder.chat_color]a0" diff --git a/code/datums/status_effects/debuffs/slime/slime_leech.dm b/code/datums/status_effects/debuffs/slime/slime_leech.dm new file mode 100644 index 00000000000..49bd0f7b82c --- /dev/null +++ b/code/datums/status_effects/debuffs/slime/slime_leech.dm @@ -0,0 +1,93 @@ +/atom/movable/screen/alert/status_effect/slime_leech + name = "Covered in Slime" + desc = "A slime is draining your very lifeforce! Remove it by hand, by hitting it, or by water." + icon_state = "slime_leech" + +/datum/status_effect/slime_leech + id = "slime_leech" + alert_type = /atom/movable/screen/alert/status_effect/slime_leech + var/mob/living/basic/slime/our_slime + +/datum/status_effect/slime_leech/on_creation(mob/living/new_owner, mob/living/basic/slime/our_slime) + src.our_slime = our_slime + return ..() + +/datum/status_effect/slime_leech/on_apply() + if(isnull(our_slime)) + return FALSE + + if(!isslime(our_slime)) + return FALSE + + RegisterSignals(our_slime, list(COMSIG_LIVING_DEATH, COMSIG_MOB_UNBUCKLED, COMSIG_QDELETING,), PROC_REF(on_buckle_end)) + return ..() + +///If the buckling ends +/datum/status_effect/slime_leech/proc/on_buckle_end() + SIGNAL_HANDLER + + var/bio_protection = 100 - owner.getarmor(null, BIO) + if(prob(bio_protection)) + owner.apply_status_effect(/datum/status_effect/slimed, our_slime.slime_type.rgb_code, our_slime.slime_type.colour == SLIME_TYPE_RAINBOW) + + qdel(src) + +/datum/status_effect/slime_leech/on_remove() + our_slime = null + +/datum/status_effect/slime_leech/tick(seconds_between_ticks) + if(our_slime.stat) + our_slime.stop_feeding(silent = TRUE) + return + + if(owner.stat == DEAD) // our victim died + if(our_slime.client) + to_chat(our_slime, span_info("This subject does not have a strong enough life energy anymore...")) + + SEND_SIGNAL(owner, COMSIG_SLIME_DRAINED, our_slime) + + if(prob(60) && owner.client && ishuman(owner) && !our_slime.ai_controller.blackboard[BB_SLIME_RABID]) + our_slime.ai_controller?.set_blackboard_key(BB_SLIME_RABID, TRUE) //we might go rabid after finishing to feed on a human with a client. + + our_slime.stop_feeding() + return + + var/totaldamage = 0 //total damage done to this unfortunate soul + + if(iscarbon(owner)) + totaldamage += owner.adjustBruteLoss(rand(2, 4) * 0.5 * seconds_between_ticks) + totaldamage += owner.adjustToxLoss(rand(1, 2) * 0.5 * seconds_between_ticks) + + if(isanimal_or_basicmob(owner)) + + var/need_mob_update + need_mob_update = totaldamage += owner.adjustBruteLoss(rand(2, 4) * 0.5 * seconds_between_ticks, updating_health = FALSE) + need_mob_update += totaldamage += owner.adjustToxLoss(rand(1, 2) * 0.5 * seconds_between_ticks, updating_health = FALSE) + if(need_mob_update) + owner.updatehealth() + + if(totaldamage >= 0) // AdjustBruteLoss returns a negative value on succesful damage adjustment + our_slime.balloon_alert(our_slime, "not food!") + our_slime.stop_feeding() + return + + if(totaldamage < 0 && SPT_PROB(5, seconds_between_ticks) && owner.client) + + var/static/list/pain_lines + if(isnull(pain_lines)) + pain_lines = list( + "You can feel your body becoming weak!", + "You feel like you're about to die!", + "You feel every part of your body screaming in agony!", + "A low, rolling pain passes through your body!", + "Your body feels as if it's falling apart!", + "You feel extremely weak!", + "A sharp, deep pain bathes every inch of your body!", + ) + + to_chat(owner, span_userdanger(pick(pain_lines))) + + our_slime.adjust_nutrition(-1 * 1.8 * totaldamage) //damage is already modified by seconds_between_ticks + + //Heal yourself. + our_slime.adjustBruteLoss(-1.5 * seconds_between_ticks) diff --git a/code/datums/status_effects/debuffs/slimed.dm b/code/datums/status_effects/debuffs/slime/slimed.dm similarity index 100% rename from code/datums/status_effects/debuffs/slimed.dm rename to code/datums/status_effects/debuffs/slime/slimed.dm diff --git a/code/datums/status_effects/debuffs/speech_debuffs.dm b/code/datums/status_effects/debuffs/speech_debuffs.dm index fa63e74cbbf..07bcd3c2543 100644 --- a/code/datums/status_effects/debuffs/speech_debuffs.dm +++ b/code/datums/status_effects/debuffs/speech_debuffs.dm @@ -32,19 +32,21 @@ if(!length(phrase)) return - if(length(tts_filter) > 0) - message_args[TREAT_TTS_FILTER_ARG] += tts_filter - if(make_tts_message_original) - message_args[TREAT_TTS_MESSAGE_ARG] = message_args[TREAT_MESSAGE_ARG] - var/final_phrase = "" var/original_char = "" for(var/i = 1, i <= length(phrase), i += length(original_char)) original_char = phrase[i] - final_phrase += apply_speech(original_char) + if(final_phrase == phrase) + return // No change was done, whatever + + if(length(tts_filter) > 0) + message_args[TREAT_TTS_FILTER_ARG] += tts_filter + if(make_tts_message_original) + message_args[TREAT_TTS_MESSAGE_ARG] = message_args[TREAT_MESSAGE_ARG] + message_args[TREAT_MESSAGE_ARG] = sanitize(final_phrase) /** @@ -100,8 +102,11 @@ remove_on_fullheal = FALSE /datum/status_effect/speech/stutter/anxiety/handle_message(datum/source, list/message_args) - var/datum/quirk/social_anxiety/host_quirk = owner.get_quirk(/datum/quirk/social_anxiety) - stutter_prob = clamp(host_quirk?.calculate_mood_mod() * 0.5, 5, 50) + if(HAS_TRAIT(owner, TRAIT_FEARLESS) || HAS_TRAIT(owner, TRAIT_SIGN_LANG)) + stutter_prob = 0 + else + var/datum/quirk/social_anxiety/host_quirk = owner.get_quirk(/datum/quirk/social_anxiety) + stutter_prob = clamp(host_quirk?.calculate_mood_mod() * 0.5, 5, 50) return ..() /datum/status_effect/speech/stutter/derpspeech diff --git a/code/datums/wires/robot.dm b/code/datums/wires/robot.dm index 8e3870acb47..cf8d9b23886 100644 --- a/code/datums/wires/robot.dm +++ b/code/datums/wires/robot.dm @@ -24,7 +24,7 @@ var/list/status = list() status += "The law sync module is [R.lawupdate ? "on" : "off"]." status += "The intelligence link display shows [R.connected_ai ? R.connected_ai.name : "NULL"]." - status += "The camera light is [!isnull(R.builtInCamera) && R.builtInCamera.status ? "on" : "off"]." + status += "The camera light is [!isnull(R.builtInCamera) && R.builtInCamera.camera_enabled ? "on" : "off"]." status += "The lockdown indicator is [R.lockcharge ? "on" : "off"]." status += "There is a star symbol above the [get_color_of_wire(WIRE_RESET_MODEL)] wire." return status @@ -52,7 +52,7 @@ if(!QDELETED(R.builtInCamera) && !R.scrambledcodes) R.builtInCamera.toggle_cam(usr, FALSE) R.visible_message(span_notice("[R]'s camera lens focuses loudly."), span_notice("Your camera lens focuses loudly.")) - log_silicon("[key_name(usr)] toggled [key_name(R)]'s camera to [R.builtInCamera.status ? "on" : "off"] via pulse") + log_silicon("[key_name(usr)] toggled [key_name(R)]'s camera to [R.builtInCamera.camera_enabled ? "on" : "off"] via pulse") if(WIRE_LAWSYNC) // Forces a law update if possible. if(R.lawupdate) R.visible_message(span_notice("[R] gently chimes."), span_notice("LawSync protocol engaged.")) @@ -90,7 +90,7 @@ R.logevent("Lawsync Module fault [mend ? "cleared" : "detected"]") if (WIRE_CAMERA) // Disable the camera. if(!QDELETED(R.builtInCamera) && !R.scrambledcodes) - R.builtInCamera.status = mend + R.builtInCamera.camera_enabled = mend R.builtInCamera.toggle_cam(usr, 0) R.visible_message(span_notice("[R]'s camera lens focuses loudly."), span_notice("Your camera lens focuses loudly.")) R.logevent("Camera Module fault [mend?"cleared":"detected"]") diff --git a/code/game/area/ai_monitored.dm b/code/game/area/ai_monitored.dm index 7a99de4dfdf..f6559d344c4 100644 --- a/code/game/area/ai_monitored.dm +++ b/code/game/area/ai_monitored.dm @@ -1,33 +1,31 @@ /area/station/ai_monitored name = "\improper AI Monitored Area" - var/list/obj/machinery/camera/motioncameras = list() - var/list/datum/weakref/motionTargets = list() sound_environment = SOUND_ENVIRONMENT_ROOM + var/list/obj/machinery/camera/motioncameras + var/list/datum/weakref/motionTargets = list() /area/station/ai_monitored/Initialize(mapload) . = ..() - if(mapload) - for (var/obj/machinery/camera/M in src) - if(M.isMotion()) - motioncameras.Add(M) - M.set_area_motion(src) - -//Only need to use one camera + if(!mapload) + return + for (var/obj/machinery/camera/ai_camera in src) + if(!ai_camera.isMotion()) + continue + LAZYADD(motioncameras, ai_camera) + ai_camera.set_area_motion(src) /area/station/ai_monitored/Entered(atom/movable/arrived, atom/old_loc, list/atom/old_locs) . = ..() - if (ismob(arrived) && motioncameras.len) - for(var/obj/machinery/camera/cam as anything in motioncameras) - cam.newTarget(arrived) - return + if (!ismob(arrived) || !LAZYLEN(motioncameras)) + return + for(var/obj/machinery/camera/cam as anything in motioncameras) + cam.newTarget(arrived) + return /area/station/ai_monitored/Exited(atom/movable/gone, atom/old_loc, list/atom/old_locs) - ..() - if (ismob(gone) && motioncameras.len) - for(var/obj/machinery/camera/cam as anything in motioncameras) - cam.lostTargetRef(WEAKREF(gone)) - return - -/area/station/ai_monitored/turret_protected/ai/Initialize(mapload) . = ..() - src.area_flags |= ABDUCTOR_PROOF + if (!ismob(gone) || !LAZYLEN(motioncameras)) + return + for(var/obj/machinery/camera/cam as anything in motioncameras) + cam.lostTargetRef(WEAKREF(gone)) + return diff --git a/code/game/area/areas/ai_monitored.dm b/code/game/area/areas/ai_monitored.dm index 0fc34c96abb..77ac5d6a2fd 100644 --- a/code/game/area/areas/ai_monitored.dm +++ b/code/game/area/areas/ai_monitored.dm @@ -47,6 +47,7 @@ name = "\improper AI Chamber" icon_state = "ai_chamber" ai_will_not_hear_this = null + area_flags = parent_type::area_flags | ABDUCTOR_PROOF /area/station/ai_monitored/turret_protected/aisat name = "\improper AI Satellite" diff --git a/code/game/area/areas/station/engineering.dm b/code/game/area/areas/station/engineering.dm index a7ce535cc5d..fa051833ef5 100644 --- a/code/game/area/areas/station/engineering.dm +++ b/code/game/area/areas/station/engineering.dm @@ -23,6 +23,17 @@ /area/station/engineering/atmos/upper name = "Upper Atmospherics" +/*outside atmos*/ +/area/station/engineering/atmos/space_catwalk + name = "\improper Atmospherics Space Catwalk" + area_flags = BLOBS_ALLOWED | UNIQUE_AREA | CULT_PERMITTED + + sound_environment = SOUND_AREA_SPACE + ambience_index = AMBIENCE_SPACE + ambient_buzz = null //Space is deafeningly quiet + min_ambience_cooldown = 195 SECONDS //length of ambispace.ogg + max_ambience_cooldown = 200 SECONDS + /area/station/engineering/atmos/project name = "\improper Atmospherics Project Room" icon_state = "atmos_projectroom" diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index 9df408b55ad..d61145e4dd4 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -191,7 +191,7 @@ update_current_power_usage() setup_area_power_relationship() -/obj/machinery/Destroy() +/obj/machinery/Destroy(force) SSmachines.unregister_machine(src) end_processing() diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index 552afbb4ed8..32e56e2fca9 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -4,17 +4,7 @@ icon = 'icons/obj/machines/wallmounts.dmi' base_icon_state = "button" icon_state = "button" - ///Icon suffix for the skin of the front pannel that is added to base_icon_state - var/skin = "" - ///Whether it is possible to change the panel skin - var/can_alter_skin = TRUE power_channel = AREA_USAGE_ENVIRON - var/obj/item/assembly/device - var/obj/item/electronics/airlock/board - var/device_type = null - var/id = null - var/initialized_button = 0 - var/silicon_access_disabled = FALSE light_power = 0.5 // Minimums, we want the button to glow if it has a mask, not light an area light_range = 1.5 light_color = LIGHT_COLOR_VIVID_GREEN @@ -22,6 +12,17 @@ idle_power_usage = BASE_MACHINE_IDLE_CONSUMPTION * 0.02 resistance_flags = LAVA_PROOF | FIRE_PROOF interaction_flags_machine = parent_type::interaction_flags_machine | INTERACT_MACHINE_OPEN + ///Icon suffix for the skin of the front pannel that is added to base_icon_state + var/skin = "" + ///Whether it is possible to change the panel skin + var/can_alter_skin = TRUE + + var/obj/item/assembly/device + var/obj/item/electronics/airlock/board + var/device_type = null + var/id = null + var/initialized_button = 0 + var/silicon_access_disabled = FALSE /obj/machinery/button/indestructible resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 9dc50ff9ce7..33dde81af58 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -1,8 +1,25 @@ +/** + * Camera assembly frame + * Putting this on a wall will put a deconstructed camera machine on the wall. + */ +/obj/item/wallframe/camera + name = "camera assembly" + desc = "The basic construction for Nanotrasen-Always-Watching-You cameras." + icon = 'icons/obj/machines/camera.dmi' + icon_state = "cameracase" + custom_materials = list( + /datum/material/iron = SMALL_MATERIAL_AMOUNT * 4, + /datum/material/glass = SMALL_MATERIAL_AMOUNT * 2.5, + ) + result_path = /obj/machinery/camera/autoname/deconstructed + wall_external = TRUE + /obj/machinery/camera name = "security camera" desc = "It's used to monitor rooms." - icon = 'icons/obj/machines/camera.dmi' //ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE - icon_state = "camera" //mapping icon to represent upgrade states. if you want a different base icon, update default_camera_icon as well as this. + icon = 'icons/obj/machines/camera.dmi' + icon_state = "camera" + base_icon_state = "camera" use_power = ACTIVE_POWER_USE active_power_usage = BASE_MACHINE_ACTIVE_CONSUMPTION * 0.02 layer = WALL_OBJ_LAYER @@ -11,29 +28,54 @@ armor_type = /datum/armor/machinery_camera max_integrity = 100 integrity_failure = 0.5 - var/default_camera_icon = "camera" //the camera's base icon used by update_appearance - icon_state is primarily used for mapping display purposes. - var/list/network = list("ss13") + + ///An analyzer in the camera being used for x-ray upgrade. + var/obj/item/analyzer/xray_module + ///used to keep from revealing malf AI upgrades for user facing isXRay() checks when they use Upgrade Camera Network ability + ///will be false if the camera is upgraded with the proper parts. + var/malf_xray_firmware_active + ///so the malf upgrade is restored when the normal upgrade part is removed. + var/malf_xray_firmware_present + ///A sheet of plasma stored inside of the camera, giving it EMP protection. + var/obj/item/stack/sheet/mineral/plasma/emp_module + ///used to keep from revealing malf AI upgrades for user facing isEmp() checks after they use Upgrade Camera Network ability + ///will be false if the camera is upgraded with the proper parts. + var/malf_emp_firmware_active + ///so the malf upgrade is restored when the normal upgrade part is removed. + var/malf_emp_firmware_present + + ///The current state of the camera's construction, all mapped in ones start off already built. + var/camera_construction_state = CAMERA_STATE_FINISHED + + ///Bitflag of upgrades this camera has: (CAMERA_UPGRADE_XRAY | CAMERA_UPGRADE_EMP_PROOF | CAMERA_UPGRADE_MOTION) + var/camera_upgrade_bitflags = NONE + + ///List of all networks that can see this camera through the security console. + var/list/network = list(CAMERANET_NETWORK_SS13) + ///The tag the camera has, which is essentially its name to security camera consoles. var/c_tag = null - var/status = TRUE - var/start_active = FALSE //If it ignores the random chance to start broken on round start - var/invuln = null - var/datum/weakref/assembly_ref = null + ///Boolean on whether the camera is activated, so can be seen on camera consoles or will just be static. + var/camera_enabled = TRUE + ///Boolean for special cameras to bypass the random chance of being broken on roundstart. + var/start_active = FALSE + ///The area this camera is built in, which we will add/remove ourselves to the list of cameras in that area from. var/area/myarea = null - //OTHER - + ///The max range (and default range) the camera can see. var/view_range = 7 + ///The short range the camera can see, if tampered with to be short-sighted. var/short_range = 2 + ///Boolean on whether the camera's alarm is triggered. var/alarm_on = FALSE - var/busy = FALSE - var/emped = FALSE //Number of consecutive EMP's on this camera + ///How many times this camera has been EMP'ed consecutively, will reset back to 0 when fixed. + var/emped + ///Boolean on whether the AI can even turn on this camera's light- borg caneras dont have one, for example. + var/internal_light = TRUE + ///Number of AIs watching this camera with lights on, used for icons. var/in_use_lights = 0 - // Upgrades bitflag - var/upgrades = 0 - var/internal_light = TRUE //Whether it can light up when an AI views it - ///Represents a signel source of camera alarms about movement or camera tampering + ///Represents a signal source of camera alarms about movement or camera tampering var/datum/alarm_handler/alarm_manager ///Proximity monitor associated with this atom, for motion sensitive cameras. var/datum/proximity_monitor/proximity_monitor @@ -41,6 +83,11 @@ /// A copy of the last paper object that was shown to this camera. var/obj/item/paper/last_shown_paper + var/list/datum/weakref/localMotionTargets = list() + var/detectTime = 0 + var/area/station/ai_monitored/area_motion = null + var/alarm_delay = 30 // Don't forget, there's another 3 seconds in queueAlarm() + MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera, 0) MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/autoname, 0) MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/emp_proof, 0) @@ -55,51 +102,27 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/xray, 0) fire = 90 acid = 50 -/obj/machinery/camera/preset/ordnance //Bomb test site in space - name = "Hardened Bomb-Test Camera" - desc = "A specially-reinforced camera with a long lasting battery, used to monitor the bomb testing site. An external light is attached to the top." - c_tag = "Bomb Testing Site" - network = list("rd","ordnance") - use_power = NO_POWER_USE //Test site is an unpowered area - invuln = TRUE - light_range = 10 - start_active = TRUE - -/obj/machinery/camera/Initialize(mapload, obj/structure/camera_assembly/old_assembly) +/obj/machinery/camera/Initialize(mapload, ndir, building) . = ..() - for(var/i in network) - network -= i - network += lowertext(i) - var/obj/structure/camera_assembly/assembly - if(old_assembly) //check to see if the camera assembly was upgraded at all. - assembly = old_assembly - assembly_ref = WEAKREF(assembly) //important to do this now since upgrades call back to the assembly_ref - if(assembly.xray_module) - upgradeXRay() - else if(assembly.malf_xray_firmware_present) //if it was secretly upgraded via the MALF AI Upgrade Camera Network ability - upgradeXRay(TRUE) - if(assembly.emp_module) - upgradeEmpProof() - else if(assembly.malf_xray_firmware_present) //if it was secretly upgraded via the MALF AI Upgrade Camera Network ability - upgradeEmpProof(TRUE) + if(building) + setDir(ndir) + + for(var/network_name in network) + network -= network_name + network += lowertext(network_name) - if(assembly.proxy_module) - upgradeMotion() - else - assembly = new(src) - assembly.state = 4 //STATE_FINISHED - assembly_ref = WEAKREF(assembly) GLOB.cameranet.cameras += src - GLOB.cameranet.addCamera(src) + myarea = get_room_area() - LAZYADD(myarea.cameras, src) - - if(mapload && is_station_level(z) && prob(3) && !start_active) - toggle_cam() - else //this is handled by toggle_camera, so no need to update it twice. - update_appearance() + if(camera_enabled) + GLOB.cameranet.addCamera(src) + LAZYADD(myarea.cameras, src) + if(mapload && !start_active && is_station_level(z) && prob(3)) + toggle_cam() + else //this is handled by toggle_camera, so no need to update it twice. + update_appearance() alarm_manager = new(src) find_and_hang_on_wall(directional = TRUE, \ @@ -107,11 +130,45 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/xray, 0) RegisterSignal(src, COMSIG_HIT_BY_SABOTEUR, PROC_REF(on_saboteur)) +/obj/machinery/camera/Destroy(force) + if(can_use()) + toggle_cam(null, 0) //kick anyone viewing out and remove from the camera chunks + GLOB.cameranet.removeCamera(src) + GLOB.cameranet.cameras -= src + cancelCameraAlarm() + if(isarea(myarea)) + LAZYREMOVE(myarea.cameras, src) + QDEL_NULL(alarm_manager) + QDEL_NULL(last_shown_paper) + QDEL_NULL(xray_module) + QDEL_NULL(emp_module) + QDEL_NULL(proximity_monitor) + return ..() + /obj/machinery/camera/connect_to_shuttle(mapload, obj/docking_port/mobile/port, obj/docking_port/stationary/dock) for(var/i in network) network -= i network += "[port.shuttle_id]_[i]" +/obj/machinery/camera/Exited(atom/movable/gone, direction) + . = ..() + if(gone == xray_module) + xray_module = null + update_appearance() + if(malf_xray_firmware_present) + malf_xray_firmware_active = malf_xray_firmware_present //re-enable firmware based upgrades after the part is removed. + removeXRay(malf_xray_firmware_present) //make sure we don't remove MALF upgrades. + + else if(gone == emp_module) + emp_module = null + if(malf_emp_firmware_present) + malf_emp_firmware_active = malf_emp_firmware_present //re-enable firmware based upgrades after the part is removed. + removeEmpProof(malf_emp_firmware_present) //make sure we don't remove MALF upgrades + + else if(gone == proximity_monitor) + emp_module = null + removeMotion() + /obj/machinery/camera/proc/create_prox_monitor() if(!proximity_monitor) proximity_monitor = new(src, 1) @@ -125,63 +182,53 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/xray, 0) area_motion = A create_prox_monitor() -/obj/machinery/camera/Destroy() - if(can_use()) - toggle_cam(null, 0) //kick anyone viewing out and remove from the camera chunks - GLOB.cameranet.removeCamera(src) - GLOB.cameranet.cameras -= src - cancelCameraAlarm() - if(isarea(myarea)) - LAZYREMOVE(myarea.cameras, src) - QDEL_NULL(alarm_manager) - QDEL_NULL(assembly_ref) - QDEL_NULL(last_shown_paper) - return ..() - /obj/machinery/camera/examine(mob/user) . = ..() + if(isEmpProof(TRUE)) //don't reveal it's upgraded if was done via MALF AI Upgrade Camera Network ability . += span_info("It has electromagnetic interference shielding installed.") else . += span_info("It can be shielded against electromagnetic interference with some plasma.") + if(isXRay(TRUE)) //don't reveal it's upgraded if was done via MALF AI Upgrade Camera Network ability . += span_info("It has an X-ray photodiode installed.") else . += span_info("It can be upgraded with an X-ray photodiode with an analyzer.") + if(isMotion()) . += span_info("It has a proximity sensor installed.") else . += span_info("It can be upgraded with a proximity sensor.") - if(!status) + if(!camera_enabled) . += span_info("It's currently deactivated.") if(!panel_open && powered()) . += span_notice("You'll need to open its maintenance panel with a screwdriver to turn it back on.") + if(panel_open) . += span_info("Its maintenance panel is currently open.") - if(!status && powered()) + if(!camera_enabled && powered()) . += span_info("It can reactivated with wirecutters.") /obj/machinery/camera/emp_act(severity, reset_time = 90 SECONDS) . = ..() - if(!status) + if(!camera_enabled) return - if(!(. & EMP_PROTECT_SELF)) - if(prob(150/severity)) - update_appearance() - network = list() - GLOB.cameranet.removeCamera(src) - set_machine_stat(machine_stat | EMPED) - set_light(0) - emped = emped+1 //Increase the number of consecutive EMP's - update_appearance() - addtimer(CALLBACK(src, PROC_REF(post_emp_reset), emped, network), reset_time) - for(var/i in GLOB.player_list) - var/mob/M = i - if (M.client?.eye == src) - M.unset_machine() - M.reset_perspective(null) - to_chat(M, span_warning("The screen bursts into static!")) + if(. & EMP_PROTECT_SELF) + return + if(prob(150 / severity)) + network = list() + GLOB.cameranet.removeCamera(src) + set_machine_stat(machine_stat | EMPED) + set_light(0) + emped++ //Increase the number of consecutive EMP's + update_appearance() + addtimer(CALLBACK(src, PROC_REF(post_emp_reset), emped, network), reset_time) + for(var/mob/M as anything in GLOB.player_list) + if (M.client?.eye == src) + M.unset_machine() + M.reset_perspective(null) + to_chat(M, span_warning("The screen bursts into static!")) /obj/machinery/camera/proc/on_saboteur(datum/source, disrupt_duration) SIGNAL_HANDLER @@ -203,11 +250,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/xray, 0) emped = 0 //Resets the consecutive EMP count addtimer(CALLBACK(src, PROC_REF(cancelCameraAlarm)), 10 SECONDS) -/obj/machinery/camera/ex_act(severity, target) - if(invuln) - return FALSE - return ..() - /obj/machinery/camera/attack_ai(mob/living/silicon/ai/user) if (!istype(user)) return @@ -225,211 +267,26 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/xray, 0) user.electrocute_act(10, src) /obj/machinery/camera/singularity_pull(S, current_size) - if (status && current_size >= STAGE_FIVE) // If the singulo is strong enough to pull anchored objects and the camera is still active, turn off the camera as it gets ripped off the wall. + if (camera_enabled && current_size >= STAGE_FIVE) // If the singulo is strong enough to pull anchored objects and the camera is still active, turn off the camera as it gets ripped off the wall. toggle_cam(null, 0) - ..() - -// Construction/Deconstruction -/obj/machinery/camera/screwdriver_act(mob/living/user, obj/item/I) - if(..()) - return TRUE - toggle_panel_open() - to_chat(user, span_notice("You screw the camera's panel [panel_open ? "open" : "closed"].")) - I.play_tool_sound(src) - update_appearance() - return TRUE - -/obj/machinery/camera/crowbar_act(mob/living/user, obj/item/I) - . = ..() - if(!panel_open) - return - var/obj/structure/camera_assembly/assembly = assembly_ref?.resolve() - if(!assembly) - assembly_ref = null - return - var/list/droppable_parts = list() - if(assembly.xray_module) - droppable_parts += assembly.xray_module - if(assembly.emp_module) - droppable_parts += assembly.emp_module - if(assembly.proxy_module) - droppable_parts += assembly.proxy_module - if(!length(droppable_parts)) - return - var/obj/item/choice = tgui_input_list(user, "Select a part to remove", "Part Removal", sort_names(droppable_parts)) - if(isnull(choice)) - return - if(!user.can_perform_action(src, FORBID_TELEKINESIS_REACH)) - return - to_chat(user, span_notice("You remove [choice] from [src].")) - if(choice == assembly.xray_module) - assembly.drop_upgrade(assembly.xray_module) - removeXRay() - if(choice == assembly.emp_module) - assembly.drop_upgrade(assembly.emp_module) - removeEmpProof() - if(choice == assembly.proxy_module) - assembly.drop_upgrade(assembly.proxy_module) - removeMotion() - I.play_tool_sound(src) - return TRUE - -/obj/machinery/camera/wirecutter_act(mob/living/user, obj/item/I) - . = ..() - if(!panel_open) - return - toggle_cam(user, 1) - atom_integrity = max_integrity //this is a pretty simplistic way to heal the camera, but there's no reason for this to be complex. - set_machine_stat(machine_stat & ~BROKEN) - I.play_tool_sound(src) - return TRUE - -/obj/machinery/camera/multitool_act(mob/living/user, obj/item/I) - . = ..() - if(!panel_open) - return - - setViewRange((view_range == initial(view_range)) ? short_range : initial(view_range)) - to_chat(user, span_notice("You [(view_range == initial(view_range)) ? "restore" : "mess up"] the camera's focus.")) - return TRUE - -/obj/machinery/camera/welder_act(mob/living/user, obj/item/I) - . = ..() - if(!panel_open) - return - - if(!I.tool_start_check(user, amount=2)) - return TRUE - - to_chat(user, span_notice("You start to weld [src]...")) - if(I.use_tool(src, user, 100, volume=50)) - user.visible_message(span_warning("[user] unwelds [src], leaving it as just a frame bolted to the wall."), - span_warning("You unweld [src], leaving it as just a frame bolted to the wall")) - deconstruct(TRUE) - - return TRUE - -/obj/machinery/camera/attackby(obj/item/attacking_item, mob/living/user, params) - // UPGRADES - if(panel_open) - var/obj/structure/camera_assembly/assembly = assembly_ref?.resolve() - if(!assembly) - assembly_ref = null - if(attacking_item.tool_behaviour == TOOL_ANALYZER) - if(!isXRay(TRUE)) //don't reveal it was already upgraded if was done via MALF AI Upgrade Camera Network ability - if(!user.temporarilyRemoveItemFromInventory(attacking_item)) - return - upgradeXRay(FALSE, TRUE) - to_chat(user, span_notice("You attach [attacking_item] into [assembly]'s inner circuits.")) - qdel(attacking_item) - else - to_chat(user, span_warning("[src] already has that upgrade!")) - return - - else if(istype(attacking_item, /obj/item/stack/sheet/mineral/plasma)) - if(!isEmpProof(TRUE)) //don't reveal it was already upgraded if was done via MALF AI Upgrade Camera Network ability - if(attacking_item.use_tool(src, user, 0, amount=1)) - upgradeEmpProof(FALSE, TRUE) - to_chat(user, span_notice("You attach [attacking_item] into [assembly]'s inner circuits.")) - else - to_chat(user, span_warning("[src] already has that upgrade!")) - return - - else if(isprox(attacking_item)) - if(!isMotion()) - if(!user.temporarilyRemoveItemFromInventory(attacking_item)) - return - upgradeMotion() - to_chat(user, span_notice("You attach [attacking_item] into [assembly]'s inner circuits.")) - qdel(attacking_item) - else - to_chat(user, span_warning("[src] already has that upgrade!")) - return - - // OTHER - if(istype(attacking_item, /obj/item/modular_computer)) - var/itemname = "" - var/info = "" - - var/obj/item/modular_computer/computer = attacking_item - for(var/datum/computer_file/program/notepad/notepad_app in computer.stored_files) - info = notepad_app.written_note - break - - itemname = computer.name - itemname = sanitize(itemname) - info = sanitize(info) - to_chat(user, span_notice("You hold \the [itemname] up to the camera...")) - user.log_talk(itemname, LOG_GAME, log_globally=TRUE, tag="Pressed to camera") - user.changeNext_move(CLICK_CD_MELEE) - - for(var/mob/potential_viewer as anything in GLOB.player_list) - if(isAI(potential_viewer)) - var/mob/living/silicon/ai/ai = potential_viewer - if(ai.control_disabled || (ai.stat == DEAD)) - continue - - ai.log_talk(itemname, LOG_VICTIM, tag="Pressed to camera from [key_name(user)]", log_globally=FALSE) - ai.last_tablet_note_seen = "[itemname][info]" - - if(user.name == "Unknown") - to_chat(ai, "[span_name(user)] holds \a [itemname] up to one of your cameras ...") - else - to_chat(ai, "[user] holds \a [itemname] up to one of your cameras ...") - continue - - if (potential_viewer.client?.eye == src) - to_chat(potential_viewer, "[span_name("[user]")] holds \a [itemname] up to one of the cameras ...") - potential_viewer.log_talk(itemname, LOG_VICTIM, tag="Pressed to camera from [key_name(user)]", log_globally=FALSE) - potential_viewer << browse("[itemname][info]", "window=[itemname]") - return - - if(istype(attacking_item, /obj/item/paper)) - // Grab the paper, sanitise the name as we're about to just throw it into chat wrapped in HTML tags. - var/obj/item/paper/paper = attacking_item - - // Make a complete copy of the paper, store a ref to it locally on the camera. - last_shown_paper = paper.copy(paper.type, null); - - // Then sanitise the name because we're putting it directly in chat later. - var/item_name = sanitize(last_shown_paper.name) - - // Start the process of holding it up to the camera. - to_chat(user, span_notice("You hold \the [item_name] up to the camera...")) - user.log_talk(item_name, LOG_GAME, log_globally=TRUE, tag="Pressed to camera") - user.changeNext_move(CLICK_CD_MELEE) - - // And make a weakref we can throw around to all potential viewers. - last_shown_paper.camera_holder = WEAKREF(src) - - // Iterate over all living mobs and check if anyone is elibile to view the paper. - // This is backwards, but cameras don't store a list of people that are looking through them, - // and we'll have to iterate this list anyway so we can use it to pull out AIs too. - for(var/mob/potential_viewer in GLOB.player_list) - // All AIs view through cameras, so we need to check them regardless. - if(isAI(potential_viewer)) - var/mob/living/silicon/ai/ai = potential_viewer - if(ai.control_disabled || (ai.stat == DEAD)) - continue - - ai.log_talk(item_name, LOG_VICTIM, tag="Pressed to camera from [key_name(user)]", log_globally=FALSE) - log_paper("[key_name(user)] held [last_shown_paper] up to [src], requesting [key_name(ai)] read it.") - - if(user.name == "Unknown") - to_chat(ai, "[span_name(user.name)] holds \a [item_name] up to one of your cameras ...") - else - to_chat(ai, "[user] holds \a [item_name] up to one of your cameras ...") - continue - - // If it's not an AI, eye if the client's eye is set to the camera. I wonder if this even works anymore with tgui camera apps and stuff? - if (potential_viewer.client?.eye == src) - log_paper("[key_name(user)] held [last_shown_paper] up to [src], and [key_name(potential_viewer)] may read it.") - potential_viewer.log_talk(item_name, LOG_VICTIM, tag="Pressed to camera from [key_name(user)]", log_globally=FALSE) - to_chat(potential_viewer, "[span_name(user)] holds \a [item_name] up to your camera...") - return - return ..() +///Drops a specific upgrade and nulls it where necessary. +/obj/machinery/camera/proc/drop_upgrade(obj/item/upgrade_dropped) + upgrade_dropped.forceMove(drop_location()) + if(upgrade_dropped == xray_module) + xray_module = null + if(malf_xray_firmware_present) + malf_xray_firmware_active = malf_xray_firmware_present //re-enable firmware based upgrades after the part is removed. + update_appearance() + + else if(upgrade_dropped == emp_module) + emp_module = null + if(malf_emp_firmware_present) + malf_emp_firmware_active = malf_emp_firmware_present //re-enable firmware based upgrades after the part is removed. + + else if(upgrade_dropped == proximity_monitor) + proximity_monitor = null /obj/machinery/camera/run_atom_armor(damage_amount, damage_type, damage_flag = 0, attack_dir) if(machine_stat & BROKEN) @@ -437,7 +294,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/xray, 0) . = ..() /obj/machinery/camera/atom_break(damage_flag) - if(!status) + if(!camera_enabled) return . = ..() if(.) @@ -445,36 +302,40 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/xray, 0) toggle_cam(null, 0) /obj/machinery/camera/on_deconstruction(disassembled) - if(disassembled) - var/obj/structure/camera_assembly/assembly = assembly_ref?.resolve() - if(!assembly) - assembly = new() - assembly.forceMove(drop_location()) - assembly.state = 1 - assembly.setDir(dir) - assembly_ref = null - return - - var/obj/item/I = new /obj/item/wallframe/camera (loc) - I.update_integrity(I.max_integrity * 0.5) - new /obj/item/stack/cable_coil(loc, 2) + if(!(obj_flags & NO_DECONSTRUCTION)) + if(disassembled) + var/obj/item/wallframe/camera/dropped_cam = new(drop_location()) + dropped_cam.update_integrity(dropped_cam.max_integrity * 0.5) + if(camera_construction_state >= CAMERA_STATE_WIRED) + new /obj/item/stack/cable_coil(drop_location(), 2) + if(xray_module) + drop_upgrade(xray_module) + if(emp_module) + drop_upgrade(emp_module) + if(proximity_monitor) + drop_upgrade(proximity_monitor) + else + if(camera_construction_state >= CAMERA_STATE_WIRED) + new /obj/item/stack/cable_coil(drop_location(), 2) + new /obj/item/stack/sheet/iron(loc) + return ..() /obj/machinery/camera/update_icon_state() //TO-DO: Make panel open states, xray camera, and indicator lights overlays instead. var/xray_module if(isXRay(TRUE)) xray_module = "xray" - if(!status) - icon_state = "[xray_module][default_camera_icon]_off" + if(!camera_enabled) + icon_state = "[xray_module][base_icon_state]_off" return ..() if(machine_stat & EMPED) - icon_state = "[xray_module][default_camera_icon]_emp" + icon_state = "[xray_module][base_icon_state]_emp" return ..() - icon_state = "[xray_module][default_camera_icon][in_use_lights ? "_in_use" : ""]" + icon_state = "[xray_module][base_icon_state][in_use_lights ? "_in_use" : ""]" return ..() /obj/machinery/camera/proc/toggle_cam(mob/user, displaymessage = TRUE) - status = !status + camera_enabled = !camera_enabled if(can_use()) GLOB.cameranet.addCamera(src) if (isturf(loc)) @@ -491,7 +352,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/xray, 0) var/turf/our_turf = get_turf(src) GLOB.cameranet.updateChunk(our_turf.x, our_turf.y, our_turf.z) var/change_msg = "deactivates" - if(status) + if(camera_enabled) change_msg = "reactivates" triggerCameraAlarm() if(!QDELETED(src)) //We'll be doing it anyway in destroy @@ -509,7 +370,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/xray, 0) // now disconnect anyone using the camera //Apparently, this will disconnect anyone even if the camera was re-activated. //I guess that doesn't matter since they can't use it anyway? - for(var/mob/O in GLOB.player_list) + for(var/mob/O as anything in GLOB.player_list) if (O.client?.eye == src) O.unset_machine() O.reset_perspective(null) @@ -524,7 +385,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/xray, 0) alarm_manager.clear_alarm(ALARM_CAMERA) /obj/machinery/camera/proc/can_use() - if(!status) + if(!camera_enabled) return FALSE if(machine_stat & EMPED) return FALSE @@ -581,4 +442,4 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/xray, 0) user.add_sight(SEE_TURFS|SEE_MOBS|SEE_OBJS) else user.clear_sight(SEE_TURFS|SEE_MOBS|SEE_OBJS) - return 1 + return TRUE diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm deleted file mode 100644 index e684b383e36..00000000000 --- a/code/game/machinery/camera/camera_assembly.dm +++ /dev/null @@ -1,280 +0,0 @@ -#define STATE_WRENCHED 1 -#define STATE_WELDED 2 -#define STATE_WIRED 3 -#define STATE_FINISHED 4 - -/obj/item/wallframe/camera - name = "camera assembly" - desc = "The basic construction for Nanotrasen-Always-Watching-You cameras." - icon = 'icons/obj/machines/camera.dmi' - icon_state = "cameracase" - custom_materials = list(/datum/material/iron=SMALL_MATERIAL_AMOUNT * 4, /datum/material/glass= SMALL_MATERIAL_AMOUNT * 2.5) - result_path = /obj/structure/camera_assembly - wall_external = TRUE - -/obj/structure/camera_assembly - name = "camera assembly" - desc = "The basic construction for Nanotrasen-Always-Watching-You cameras." - icon = 'icons/obj/machines/camera.dmi' - icon_state = "camera_assembly" - max_integrity = 150 - // Motion, EMP-Proof, X-ray - var/obj/item/analyzer/xray_module - var/malf_xray_firmware_active //used to keep from revealing malf AI upgrades for user facing isXRay() checks when they use Upgrade Camera Network ability - //will be false if the camera is upgraded with the proper parts. - var/malf_xray_firmware_present //so the malf upgrade is restored when the normal upgrade part is removed. - var/obj/item/stack/sheet/mineral/plasma/emp_module - var/malf_emp_firmware_active //used to keep from revealing malf AI upgrades for user facing isEmp() checks after they use Upgrade Camera Network ability - //will be false if the camera is upgraded with the proper parts. - var/malf_emp_firmware_present //so the malf upgrade is restored when the normal upgrade part is removed. - var/obj/item/assembly/prox_sensor/proxy_module - var/state = STATE_WRENCHED - -/obj/structure/camera_assembly/examine(mob/user) - . = ..() - //upgrade messages - var/has_upgrades - if(emp_module) - . += span_info("It has electromagnetic interference shielding installed.") - has_upgrades = TRUE - else if(state == STATE_WIRED) - . += span_info("It can be shielded against electromagnetic interference with some plasma.") - if(xray_module) - . += span_info("It has an X-ray photodiode installed.") - has_upgrades = TRUE - else if(state == STATE_WIRED) - . += span_info("It can be upgraded with an X-ray photodiode with an analyzer.") - if(proxy_module) - . += span_info("It has a proximity sensor installed.") - has_upgrades = TRUE - else if(state == STATE_WIRED) - . += span_info("It can be upgraded with a proximity sensor.") - - //construction states - switch(state) - if(STATE_WRENCHED) - . += span_info("You can secure it in place with a welder, or removed with a wrench.") - if(STATE_WELDED) - . += span_info("You can add wires to it, or unweld it from the wall.") - if(STATE_WIRED) - if(has_upgrades) - . += span_info("You can remove the contained upgrades with a crowbar.") - . += span_info("You can complete it with a screwdriver, or unwire it to start removal.") - if(STATE_FINISHED) - . += span_boldwarning("You shouldn't be seeing this, tell a coder!") - -/obj/structure/camera_assembly/Initialize(mapload, ndir, building) - . = ..() - if(building) - setDir(ndir) - find_and_hang_on_wall() - -/obj/structure/camera_assembly/update_icon_state() - icon_state = "[xray_module ? "xray" : null][initial(icon_state)]" - return ..() - -/obj/structure/camera_assembly/Exited(atom/movable/gone, direction) - . = ..() - if(gone == xray_module) - xray_module = null - update_appearance() - if(malf_xray_firmware_present) - malf_xray_firmware_active = malf_xray_firmware_present //re-enable firmware based upgrades after the part is removed. - if(istype(loc, /obj/machinery/camera)) - var/obj/machinery/camera/contained_camera = loc - contained_camera.removeXRay(malf_xray_firmware_present) //make sure we don't remove MALF upgrades. - - else if(gone == emp_module) - emp_module = null - if(malf_emp_firmware_present) - malf_emp_firmware_active = malf_emp_firmware_present //re-enable firmware based upgrades after the part is removed. - if(istype(loc, /obj/machinery/camera)) - var/obj/machinery/camera/contained_camera = loc - contained_camera.removeEmpProof(malf_emp_firmware_present) //make sure we don't remove MALF upgrades - - else if(gone == proxy_module) - emp_module = null - if(istype(loc, /obj/machinery/camera)) - var/obj/machinery/camera/contained_camera = loc - contained_camera.removeMotion() - - -/obj/structure/camera_assembly/Destroy() - QDEL_NULL(xray_module) - QDEL_NULL(emp_module) - QDEL_NULL(proxy_module) - return ..() - -/obj/structure/camera_assembly/proc/drop_upgrade(obj/item/I) - I.forceMove(drop_location()) - if(I == xray_module) - xray_module = null - if(malf_xray_firmware_present) - malf_xray_firmware_active = malf_xray_firmware_present //re-enable firmware based upgrades after the part is removed. - update_appearance() - - else if(I == emp_module) - emp_module = null - if(malf_emp_firmware_present) - malf_emp_firmware_active = malf_emp_firmware_present //re-enable firmware based upgrades after the part is removed. - - else if(I == proxy_module) - proxy_module = null - -/obj/structure/camera_assembly/welder_act(mob/living/user, obj/item/tool) - if(state != STATE_WRENCHED && state != STATE_WELDED) - return - . = TRUE - if(!tool.tool_start_check(user, amount=1)) - return - user.balloon_alert_to_viewers("[state == STATE_WELDED ? "un" : null]welding...") - audible_message(span_hear("You hear welding.")) - if(!tool.use_tool(src, user, 2 SECONDS, volume = 50)) - user.balloon_alert_to_viewers("stopped [state == STATE_WELDED ? "un" : null]welding!") - return - state = ((state == STATE_WELDED) ? STATE_WRENCHED : STATE_WELDED) - set_anchored(state == STATE_WELDED) - user.balloon_alert_to_viewers(state == STATE_WELDED ? "welded" : "unwelded") - - -/obj/structure/camera_assembly/attackby(obj/item/W, mob/living/user, params) - switch(state) - if(STATE_WELDED) - if(istype(W, /obj/item/stack/cable_coil)) - var/obj/item/stack/cable_coil/C = W - if(C.use(2)) - to_chat(user, span_notice("You add wires to [src].")) - state = STATE_WIRED - else - to_chat(user, span_warning("You need two lengths of cable to wire a camera!")) - return - if(STATE_WIRED) // Upgrades! - if(istype(W, /obj/item/stack/sheet/mineral/plasma)) //emp upgrade - if(emp_module) - to_chat(user, span_warning("[src] already contains a [emp_module]!")) - return - if(!W.use_tool(src, user, 0, amount=1)) //only use one sheet, otherwise the whole stack will be consumed. - return - emp_module = new(src) - if(malf_xray_firmware_active) - malf_xray_firmware_active = FALSE //flavor reason: MALF AI Upgrade Camera Network ability's firmware is incompatible with the new part - //real reason: make it a normal upgrade so the finished camera's icons and examine texts are restored. - to_chat(user, span_notice("You attach [W] into [src]'s inner circuits.")) - return - - else if(istype(W, /obj/item/analyzer)) //xray upgrade - if(xray_module) - to_chat(user, span_warning("[src] already contains a [xray_module]!")) - return - if(!user.transferItemToLoc(W, src)) - return - to_chat(user, span_notice("You attach [W] into [src]'s inner circuits.")) - xray_module = W - if(malf_xray_firmware_active) - malf_xray_firmware_active = FALSE //flavor reason: MALF AI Upgrade Camera Network ability's firmware is incompatible with the new part - //real reason: make it a normal upgrade so the finished camera's icons and examine texts are restored. - update_appearance() - return - - else if(isprox(W)) //motion sensing upgrade - if(proxy_module) - to_chat(user, span_warning("[src] already contains a [proxy_module]!")) - return - if(!user.transferItemToLoc(W, src)) - return - to_chat(user, span_notice("You attach [W] into [src]'s inner circuits.")) - proxy_module = W - return - - return ..() - -/obj/structure/camera_assembly/crowbar_act(mob/user, obj/item/tool) - if(state != STATE_WIRED) - return FALSE - var/list/droppable_parts = list() - if(xray_module) - droppable_parts += xray_module - if(emp_module) - droppable_parts += emp_module - if(proxy_module) - droppable_parts += proxy_module - if(!length(droppable_parts)) - return - var/obj/item/choice = tgui_input_list(user, "Select a part to remove", "Part Removal", sort_names(droppable_parts)) - if(isnull(choice)) - return - if(!user.can_perform_action(src, FORBID_TELEKINESIS_REACH)) - return - to_chat(user, span_notice("You remove [choice] from [src].")) - drop_upgrade(choice) - tool.play_tool_sound(src) - return TRUE - -/obj/structure/camera_assembly/screwdriver_act(mob/user, obj/item/tool) - . = ..() - if(.) - return TRUE - if(state != STATE_WIRED) - return FALSE - - tool.play_tool_sound(src) - var/input = tgui_input_text(user, "Which networks would you like to connect this camera to? Separate networks with a comma. No Spaces!\nFor example: SS13,Security,Secret", "Set Network", "SS13") - if(isnull(input)) - return - var/list/tempnetwork = splittext(input, ",") - if(!length(tempnetwork)) - to_chat(user, span_warning("No network found, please hang up and try your call again!")) - return - for(var/i in tempnetwork) - tempnetwork -= i - tempnetwork += lowertext(i) - state = STATE_FINISHED - var/obj/machinery/camera/C = new(loc, src) - forceMove(C) - C.setDir(src.dir) - - C.network = tempnetwork - var/area/A = get_area(src) - C.c_tag = "[format_text(A.name)] ([rand(1, 999)])" - return TRUE - -/obj/structure/camera_assembly/wirecutter_act(mob/user, obj/item/I) - . = ..() - if(state != STATE_WIRED) - return - - new /obj/item/stack/cable_coil(drop_location(), 2) - I.play_tool_sound(src) - to_chat(user, span_notice("You cut the wires from the circuits.")) - state = STATE_WELDED - return TRUE - -/obj/structure/camera_assembly/wrench_act(mob/user, obj/item/I) - . = ..() - if(state != STATE_WRENCHED) - return - I.play_tool_sound(src) - to_chat(user, span_notice("You detach [src] from its place.")) - new /obj/item/wallframe/camera(drop_location()) - //drop upgrades - if(xray_module) - drop_upgrade(xray_module) - if(emp_module) - drop_upgrade(emp_module) - if(proxy_module) - drop_upgrade(proxy_module) - - qdel(src) - return TRUE - - -/obj/structure/camera_assembly/deconstruct(disassembled = TRUE) - if(!(obj_flags & NO_DECONSTRUCTION)) - new /obj/item/stack/sheet/iron(loc) - qdel(src) - - -#undef STATE_WRENCHED -#undef STATE_WELDED -#undef STATE_WIRED -#undef STATE_FINISHED diff --git a/code/game/machinery/camera/camera_construction.dm b/code/game/machinery/camera/camera_construction.dm new file mode 100644 index 00000000000..48bf4ccabaa --- /dev/null +++ b/code/game/machinery/camera/camera_construction.dm @@ -0,0 +1,247 @@ +/obj/machinery/camera/welder_act(mob/living/user, obj/item/tool) + switch(camera_construction_state) + if(CAMERA_STATE_WRENCHED, CAMERA_STATE_WELDED) + if(!tool.tool_start_check(user, amount = 1)) + return ITEM_INTERACT_BLOCKING + user.balloon_alert_to_viewers("[camera_construction_state == CAMERA_STATE_WELDED ? "un" : null]welding...") + audible_message(span_hear("You hear welding.")) + if(!tool.use_tool(src, user, 2 SECONDS, volume = 50)) + user.balloon_alert_to_viewers("stopped [camera_construction_state == CAMERA_STATE_WELDED ? "un" : null]welding!") + return + camera_construction_state = ((camera_construction_state == CAMERA_STATE_WELDED) ? CAMERA_STATE_WRENCHED : CAMERA_STATE_WELDED) + set_anchored(camera_construction_state == CAMERA_STATE_WELDED) + user.balloon_alert_to_viewers(camera_construction_state == CAMERA_STATE_WELDED ? "welded" : "unwelded") + return ITEM_INTERACT_SUCCESS + if(CAMERA_STATE_FINISHED) + if(!panel_open) + return ITEM_INTERACT_BLOCKING + if(!tool.tool_start_check(user, amount=2)) + return ITEM_INTERACT_BLOCKING + audible_message(span_hear("You hear welding.")) + if(!tool.use_tool(src, user, 100, volume=50)) + return ITEM_INTERACT_BLOCKING + user.visible_message(span_warning("[user] unwelds [src], leaving it as just a frame bolted to the wall."), + span_warning("You unweld [src], leaving it as just a frame bolted to the wall")) + deconstruct(TRUE) + return ITEM_INTERACT_SUCCESS + return ..() + +/obj/machinery/camera/screwdriver_act(mob/user, obj/item/tool) + switch(camera_construction_state) + if(CAMERA_STATE_WIRED) + tool.play_tool_sound(src) + var/input = tgui_input_text(user, "Which networks would you like to connect this camera to? Separate networks with a comma. No Spaces!\nFor example: SS13,Security,Secret", "Set Network", "SS13") + if(isnull(input)) + return ITEM_INTERACT_BLOCKING + var/list/tempnetwork = splittext(input, ",") + if(!length(tempnetwork)) + to_chat(user, span_warning("No network found, please hang up and try your call again!")) + return ITEM_INTERACT_BLOCKING + for(var/i in tempnetwork) + tempnetwork -= i + tempnetwork += lowertext(i) + camera_construction_state = CAMERA_STATE_FINISHED + toggle_cam(user, displaymessage = FALSE) + network = tempnetwork + return ITEM_INTERACT_SUCCESS + if(CAMERA_STATE_FINISHED) + toggle_panel_open() + to_chat(user, span_notice("You screw the camera's panel [panel_open ? "open" : "closed"].")) + tool.play_tool_sound(src) + update_appearance() + return ITEM_INTERACT_SUCCESS + return ..() + +/obj/machinery/camera/wirecutter_act(mob/user, obj/item/tool) + switch(camera_construction_state) + if(CAMERA_STATE_WIRED) + new /obj/item/stack/cable_coil(drop_location(), 2) + tool.play_tool_sound(src) + to_chat(user, span_notice("You cut the wires from the circuits.")) + camera_construction_state = CAMERA_STATE_WELDED + return ITEM_INTERACT_SUCCESS + if(CAMERA_STATE_FINISHED) + if(!panel_open) + return ITEM_INTERACT_BLOCKING + toggle_cam(user, 1) + atom_integrity = max_integrity //this is a pretty simplistic way to heal the camera, but there's no reason for this to be complex. + set_machine_stat(machine_stat & ~BROKEN) + tool.play_tool_sound(src) + return ITEM_INTERACT_SUCCESS + return ..() + +/obj/machinery/camera/wrench_act(mob/user, obj/item/tool) + if(camera_construction_state == CAMERA_STATE_WRENCHED) + tool.play_tool_sound(src) + to_chat(user, span_notice("You detach [src] from its place.")) + deconstruct(TRUE) + return ITEM_INTERACT_SUCCESS + return ..() + +/obj/machinery/camera/crowbar_act(mob/living/user, obj/item/tool) + if(camera_construction_state == CAMERA_STATE_FINISHED) + if(!panel_open) + return ITEM_INTERACT_BLOCKING + var/list/droppable_parts = list() + if(xray_module) + droppable_parts += xray_module + if(emp_module) + droppable_parts += emp_module + if(proximity_monitor) + droppable_parts += proximity_monitor + if(!length(droppable_parts)) + return ITEM_INTERACT_BLOCKING + var/obj/item/choice = tgui_input_list(user, "Select a part to remove", "Part Removal", sort_names(droppable_parts)) + if(isnull(choice)) + return ITEM_INTERACT_BLOCKING + if(!user.can_perform_action(src, FORBID_TELEKINESIS_REACH)) + return ITEM_INTERACT_BLOCKING + to_chat(user, span_notice("You remove [choice] from [src].")) + if(choice == xray_module) + drop_upgrade(xray_module) + removeXRay() + if(choice == emp_module) + drop_upgrade(emp_module) + removeEmpProof() + if(choice == proximity_monitor) + drop_upgrade(proximity_monitor) + removeMotion() + tool.play_tool_sound(src) + return ITEM_INTERACT_SUCCESS + return ..() + +/obj/machinery/camera/multitool_act(mob/living/user, obj/item/tool) + if(camera_construction_state == CAMERA_STATE_FINISHED) + if(!panel_open) + return ITEM_INTERACT_BLOCKING + setViewRange((view_range == initial(view_range)) ? short_range : initial(view_range)) + to_chat(user, span_notice("You [(view_range == initial(view_range)) ? "restore" : "mess up"] the camera's focus.")) + return ITEM_INTERACT_SUCCESS + return ..() + +/obj/machinery/camera/attackby(obj/item/attacking_item, mob/living/user, params) + if(camera_construction_state != CAMERA_STATE_FINISHED || panel_open) + if(attacking_item.tool_behaviour == TOOL_ANALYZER) + if(!isXRay(TRUE)) //don't reveal it was already upgraded if was done via MALF AI Upgrade Camera Network ability + if(!user.temporarilyRemoveItemFromInventory(attacking_item)) + return + upgradeXRay(FALSE, TRUE) + to_chat(user, span_notice("You attach [attacking_item] into [name]'s inner circuits.")) + qdel(attacking_item) + else + to_chat(user, span_warning("[src] already has that upgrade!")) + return + else if(istype(attacking_item, /obj/item/stack/sheet/mineral/plasma)) + if(!isEmpProof(TRUE)) //don't reveal it was already upgraded if was done via MALF AI Upgrade Camera Network ability + if(attacking_item.use_tool(src, user, 0, amount=1)) + upgradeEmpProof(FALSE, TRUE) + to_chat(user, span_notice("You attach [attacking_item] into [name]'s inner circuits.")) + else + to_chat(user, span_warning("[src] already has that upgrade!")) + return + else if(isprox(attacking_item)) + if(!isMotion()) + if(!user.temporarilyRemoveItemFromInventory(attacking_item)) + return + upgradeMotion() + to_chat(user, span_notice("You attach [attacking_item] into [name]'s inner circuits.")) + qdel(attacking_item) + else + to_chat(user, span_warning("[src] already has that upgrade!")) + return + switch(camera_construction_state) + if(CAMERA_STATE_WELDED) + if(istype(attacking_item, /obj/item/stack/cable_coil)) + var/obj/item/stack/cable_coil/attacking_cable = attacking_item + if(attacking_cable.use(2)) + to_chat(user, span_notice("You add wires to [src].")) + camera_construction_state = CAMERA_STATE_WIRED + else + to_chat(user, span_warning("You need two lengths of cable to wire a camera!")) + return + if(CAMERA_STATE_FINISHED) + if(istype(attacking_item, /obj/item/modular_computer)) + var/itemname = "" + var/info = "" + + var/obj/item/modular_computer/computer = attacking_item + for(var/datum/computer_file/program/notepad/notepad_app in computer.stored_files) + info = notepad_app.written_note + break + + if(!info) + return + + itemname = computer.name + itemname = sanitize(itemname) + info = sanitize(info) + to_chat(user, span_notice("You hold \the [itemname] up to the camera...")) + user.log_talk(itemname, LOG_GAME, log_globally=TRUE, tag="Pressed to camera") + user.changeNext_move(CLICK_CD_MELEE) + + for(var/mob/potential_viewer as anything in GLOB.player_list) + if(isAI(potential_viewer)) + var/mob/living/silicon/ai/ai = potential_viewer + if(ai.control_disabled || (ai.stat == DEAD)) + continue + + ai.log_talk(itemname, LOG_VICTIM, tag="Pressed to camera from [key_name(user)]", log_globally=FALSE) + ai.last_tablet_note_seen = "[itemname][info]" + + if(user.name == "Unknown") + to_chat(ai, "[span_name(user)] holds \a [itemname] up to one of your cameras ...") + else + to_chat(ai, "[user] holds \a [itemname] up to one of your cameras ...") + continue + + if (potential_viewer.client?.eye == src) + to_chat(potential_viewer, "[span_name("[user]")] holds \a [itemname] up to one of the cameras ...") + potential_viewer.log_talk(itemname, LOG_VICTIM, tag="Pressed to camera from [key_name(user)]", log_globally=FALSE) + potential_viewer << browse("[itemname][info]", "window=[itemname]") + return + + if(istype(attacking_item, /obj/item/paper)) + // Grab the paper, sanitise the name as we're about to just throw it into chat wrapped in HTML tags. + var/obj/item/paper/paper = attacking_item + + // Make a complete copy of the paper, store a ref to it locally on the camera. + last_shown_paper = paper.copy(paper.type, null) + + // Then sanitise the name because we're putting it directly in chat later. + var/item_name = sanitize(last_shown_paper.name) + + // Start the process of holding it up to the camera. + to_chat(user, span_notice("You hold \the [item_name] up to the camera...")) + user.log_talk(item_name, LOG_GAME, log_globally=TRUE, tag="Pressed to camera") + user.changeNext_move(CLICK_CD_MELEE) + + // And make a weakref we can throw around to all potential viewers. + last_shown_paper.camera_holder = WEAKREF(src) + + // Iterate over all living mobs and check if anyone is elibile to view the paper. + // This is backwards, but cameras don't store a list of people that are looking through them, + // and we'll have to iterate this list anyway so we can use it to pull out AIs too. + for(var/mob/potential_viewer in GLOB.player_list) + // All AIs view through cameras, so we need to check them regardless. + if(isAI(potential_viewer)) + var/mob/living/silicon/ai/ai = potential_viewer + if(ai.control_disabled || (ai.stat == DEAD)) + continue + + ai.log_talk(item_name, LOG_VICTIM, tag="Pressed to camera from [key_name(user)]", log_globally=FALSE) + log_paper("[key_name(user)] held [last_shown_paper] up to [src], requesting [key_name(ai)] read it.") + + if(user.name == "Unknown") + to_chat(ai, "[span_name(user.name)] holds \a [item_name] up to one of your cameras ...") + else + to_chat(ai, "[user] holds \a [item_name] up to one of your cameras ...") + continue + + // If it's not an AI, eye if the client's eye is set to the camera. I wonder if this even works anymore with tgui camera apps and stuff? + if (potential_viewer.client?.eye == src) + log_paper("[key_name(user)] held [last_shown_paper] up to [src], and [key_name(potential_viewer)] may read it.") + potential_viewer.log_talk(item_name, LOG_VICTIM, tag="Pressed to camera from [key_name(user)]", log_globally=FALSE) + to_chat(potential_viewer, "[span_name(user)] holds \a [item_name] up to your camera...") + return + + return ..() diff --git a/code/game/machinery/camera/motion.dm b/code/game/machinery/camera/motion.dm index ec01c2365f8..ba5e793d68c 100644 --- a/code/game/machinery/camera/motion.dm +++ b/code/game/machinery/camera/motion.dm @@ -1,10 +1,3 @@ -/obj/machinery/camera - - var/list/datum/weakref/localMotionTargets = list() - var/detectTime = 0 - var/area/station/ai_monitored/area_motion = null - var/alarm_delay = 30 // Don't forget, there's another 3 seconds in queueAlarm() - /obj/machinery/camera/process() // motion camera event loop if(!isMotion()) @@ -39,7 +32,7 @@ /obj/machinery/camera/Destroy() localMotionTargets = null if(area_motion) - area_motion.motioncameras -= src + LAZYREMOVE(area_motion.motioncameras, src) cancelAlarm() return ..() @@ -50,7 +43,7 @@ cancelAlarm() /obj/machinery/camera/proc/cancelAlarm() - if (detectTime == -1 && status) + if (detectTime == -1 && camera_enabled) alarm_manager.clear_alarm(ALARM_MOTION) detectTime = 0 return TRUE @@ -58,7 +51,7 @@ /obj/machinery/camera/proc/triggerAlarm() if (!detectTime) return FALSE - if(status) + if(camera_enabled) if(alarm_manager.send_alarm(ALARM_MOTION, src, src)) visible_message(span_warning("A red light flashes on [src]!")) detectTime = -1 @@ -72,7 +65,7 @@ /obj/machinery/camera/motion/thunderdome name = "entertainment camera" - network = list("thunder") + network = list(CAMERANET_NETWORK_THUNDERDOME) c_tag = "Arena" resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF | FREEZE_PROOF diff --git a/code/game/machinery/camera/presets.dm b/code/game/machinery/camera/presets.dm index e79eadf53b9..bb9ef7d3fc5 100644 --- a/code/game/machinery/camera/presets.dm +++ b/code/game/machinery/camera/presets.dm @@ -1,6 +1,16 @@ -// PRESETS +/** + * Deconstructed Camera + * Used by wallmounted cameras, starts off deconstructed and requires building by a player. + */ +/obj/machinery/camera/autoname/deconstructed + icon_state = "camera_off" + camera_construction_state = CAMERA_STATE_WRENCHED + camera_enabled = FALSE -// EMP +/** + * EMP Proof + * Starts off with the EMP protection upgrade, and can't start unactivated. + */ /obj/machinery/camera/emp_proof start_active = TRUE @@ -8,23 +18,30 @@ . = ..() upgradeEmpProof() -// EMP + Motion - +/** + * Motion EMP proof + * Same as EMP but also starts with motion upgrade. + */ /obj/machinery/camera/emp_proof/motion/Initialize(mapload) . = ..() upgradeMotion() -// X-ray - +/** + * X-Ray Cameras + * Starts off with x-ray, and can't start deactivated. + */ /obj/machinery/camera/xray start_active = TRUE - icon_state = "xraycamera" //mapping icon - Thanks to Krutchen for the icons. + icon_state = "xraycamera" //mapping icon only /obj/machinery/camera/xray/Initialize(mapload) . = ..() upgradeXRay() -// MOTION +/** + * Motion camera + * Starts off with the motion detector and can't be disablede on roundstart. + */ /obj/machinery/camera/motion start_active = TRUE name = "motion-sensitive security camera" @@ -33,7 +50,10 @@ . = ..() upgradeMotion() -// ALL UPGRADES +/** + * All camera + * Has all upgrades by default, can't be disabled roundstart. + */ /obj/machinery/camera/all start_active = TRUE icon_state = "xraycamera" //mapping icon. @@ -44,33 +64,47 @@ upgradeXRay() upgradeMotion() -// AUTONAME - +/** + * Autonaming camera + * Automatically names itself after the area it's in during LateInitialize, + * good for mappers who don't want to manually name them all. + */ /obj/machinery/camera/autoname var/number = 0 //camera number in area -//This camera type automatically sets it's name to whatever the area that it's in is called. /obj/machinery/camera/autoname/Initialize(mapload) ..() return INITIALIZE_HINT_LATELOAD /obj/machinery/camera/autoname/LateInitialize() . = ..() - var/static/list/autonames_in_areas = list() - var/area/camera_area = get_area(src) - number = autonames_in_areas[camera_area] + 1 autonames_in_areas[camera_area] = number - c_tag = "[format_text(camera_area.name)] #[number]" + +/** + * Bomb preset + * Can't be disabled, sees further, doesn't cost power, can be seen by ordnance + * cameras, and is indestructible (so bomb-proof). + */ +/obj/machinery/camera/preset/ordnance + name = "Hardened Bomb-Test Camera" + desc = "A specially-reinforced camera with a long lasting battery, used to monitor the bomb testing site. An external light is attached to the top." + c_tag = "Bomb Testing Site" + network = list(CAMERANET_NETWORK_RD, CAMERANET_NETWORK_ORDNANCE) + use_power = NO_POWER_USE //Test site is an unpowered area + resistance_flags = parent_type::resistance_flags | INDESTRUCTIBLE + light_range = 10 + start_active = TRUE + ///The internal camera object for exosuits, applied by the camera upgrade /obj/machinery/camera/exosuit c_tag = "Exosuit: unspecified" desc = "This camera belongs in a mecha. If you see this, tell a coder!" - network = list("ss13", "rd") + network = list(CAMERANET_NETWORK_SS13, CAMERANET_NETWORK_RD) short_range = 1 //used when the camera gets EMPd ///Number of the camera and thus the name of the mech var/number = 0 @@ -103,78 +137,69 @@ // UPGRADE PROCS /obj/machinery/camera/proc/isEmpProof(ignore_malf_upgrades) - var/obj/structure/camera_assembly/assembly = assembly_ref?.resolve() - return (upgrades & CAMERA_UPGRADE_EMP_PROOF) && (!(ignore_malf_upgrades && assembly?.malf_emp_firmware_active)) + return (camera_upgrade_bitflags & CAMERA_UPGRADE_EMP_PROOF) && (!(ignore_malf_upgrades && malf_emp_firmware_active)) /obj/machinery/camera/proc/upgradeEmpProof(malf_upgrade, ignore_malf_upgrades) if(isEmpProof(ignore_malf_upgrades)) //pass a malf upgrade to ignore_malf_upgrades so we can replace the malf module with the normal one return //that way if someone tries to upgrade an already malf-upgraded camera, it'll just upgrade it to a normal version. AddElement(/datum/element/empprotection, EMP_PROTECT_ALL) - var/obj/structure/camera_assembly/assembly = assembly_ref?.resolve() if(malf_upgrade) - assembly.malf_emp_firmware_active = TRUE //don't add parts to drop, update icon, ect. reconstructing it will also retain the upgrade. - assembly.malf_emp_firmware_present = TRUE //so the upgrade is retained after incompatible parts are removed. + malf_emp_firmware_active = TRUE //don't add parts to drop, update icon, ect. reconstructing it will also retain the upgrade. + malf_emp_firmware_present = TRUE //so the upgrade is retained after incompatible parts are removed. - else if(!assembly.emp_module) //only happens via upgrading in camera/attackby() - assembly.emp_module = new(assembly) - if(assembly.malf_emp_firmware_active) - assembly.malf_emp_firmware_active = FALSE //make it appear like it's just normally upgraded so the icons and examine texts are restored. + else if(!emp_module) //only happens via upgrading in camera/attackby() + emp_module = new(src) + if(malf_emp_firmware_active) + malf_emp_firmware_active = FALSE //make it appear like it's just normally upgraded so the icons and examine texts are restored. - upgrades |= CAMERA_UPGRADE_EMP_PROOF + camera_upgrade_bitflags |= CAMERA_UPGRADE_EMP_PROOF /obj/machinery/camera/proc/removeEmpProof(ignore_malf_upgrades) if(ignore_malf_upgrades) //don't downgrade it if malf software is forced onto it. return RemoveElement(/datum/element/empprotection, EMP_PROTECT_ALL) - upgrades &= ~CAMERA_UPGRADE_EMP_PROOF - - + camera_upgrade_bitflags &= ~CAMERA_UPGRADE_EMP_PROOF /obj/machinery/camera/proc/isXRay(ignore_malf_upgrades) - var/obj/structure/camera_assembly/assembly = assembly_ref?.resolve() - return (upgrades & CAMERA_UPGRADE_XRAY) && (!(ignore_malf_upgrades && assembly.malf_xray_firmware_active)) + return (camera_upgrade_bitflags & CAMERA_UPGRADE_XRAY) && (!(ignore_malf_upgrades && malf_xray_firmware_active)) /obj/machinery/camera/proc/upgradeXRay(malf_upgrade, ignore_malf_upgrades) if(isXRay(ignore_malf_upgrades)) //pass a malf upgrade to ignore_malf_upgrades so we can replace the malf upgrade with the normal one return //that way if someone tries to upgrade an already malf-upgraded camera, it'll just upgrade it to a normal version. - var/obj/structure/camera_assembly/assembly = assembly_ref?.resolve() if(malf_upgrade) - assembly.malf_xray_firmware_active = TRUE //don't add parts to drop, update icon, ect. reconstructing it will also retain the upgrade. - assembly.malf_xray_firmware_present = TRUE //so the upgrade is retained after incompatible parts are removed. + malf_xray_firmware_active = TRUE //don't add parts to drop, update icon, ect. reconstructing it will also retain the upgrade. + malf_xray_firmware_present = TRUE //so the upgrade is retained after incompatible parts are removed. - else if(!assembly.xray_module) //only happens via upgrading in camera/attackby() - assembly.xray_module = new(assembly) - if(assembly.malf_xray_firmware_active) - assembly.malf_xray_firmware_active = FALSE //make it appear like it's just normally upgraded so the icons and examine texts are restored. + else if(!xray_module) //only happens via upgrading in camera/attackby() + xray_module = new(src) + if(malf_xray_firmware_active) + malf_xray_firmware_active = FALSE //make it appear like it's just normally upgraded so the icons and examine texts are restored. - upgrades |= CAMERA_UPGRADE_XRAY + camera_upgrade_bitflags |= CAMERA_UPGRADE_XRAY update_appearance() /obj/machinery/camera/proc/removeXRay(ignore_malf_upgrades) if(!ignore_malf_upgrades) //don't downgrade it if malf software is forced onto it. - upgrades &= ~CAMERA_UPGRADE_XRAY + camera_upgrade_bitflags &= ~CAMERA_UPGRADE_XRAY update_appearance() - - /obj/machinery/camera/proc/isMotion() - return upgrades & CAMERA_UPGRADE_MOTION + return camera_upgrade_bitflags & CAMERA_UPGRADE_MOTION /obj/machinery/camera/proc/upgradeMotion() if(isMotion()) return - var/obj/structure/camera_assembly/assembly = assembly_ref?.resolve() if(name == initial(name)) name = "motion-sensitive security camera" - if(!assembly.proxy_module) - assembly.proxy_module = new(assembly) - upgrades |= CAMERA_UPGRADE_MOTION + if(!proximity_monitor) + proximity_monitor = new(src) + camera_upgrade_bitflags |= CAMERA_UPGRADE_MOTION create_prox_monitor() /obj/machinery/camera/proc/removeMotion() if(name == "motion-sensitive security camera") name = "security camera" - upgrades &= ~CAMERA_UPGRADE_MOTION + camera_upgrade_bitflags &= ~CAMERA_UPGRADE_MOTION if(!area_motion) QDEL_NULL(proximity_monitor) diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm index f3b43e07caa..12d364e6130 100644 --- a/code/game/machinery/computer/buildandrepair.dm +++ b/code/game/machinery/computer/buildandrepair.dm @@ -78,10 +78,11 @@ switch(state) if(FRAME_STATE_EMPTY) - . += span_notice("It can be [EXAMINE_HINT("wrenched")] [anchored ? "loose" : "in place"].") + . += span_notice("It can be [EXAMINE_HINT("anchored")] [anchored ? "loose" : "in place"].") if(anchored) . += span_warning("It's missing a circuit board.") - . += span_notice("It can be [EXAMINE_HINT("welded")] or [EXAMINE_HINT("screwed")] apart.") + else + . += span_notice("It can be [EXAMINE_HINT("welded")] or [EXAMINE_HINT("screwed")] apart.") if(FRAME_COMPUTER_STATE_BOARD_INSTALLED) . += span_warning("An [circuit.name] is installed and should be [EXAMINE_HINT("screwed")] in place.") . += span_notice("The circuit board can be [EXAMINE_HINT("pried")] out.") diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index a47296ab13d..b244cba4aa6 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -8,7 +8,7 @@ circuit = /obj/item/circuitboard/computer/security light_color = COLOR_SOFT_RED - var/list/network = list("ss13") + var/list/network = list(CAMERANET_NETWORK_SS13) var/obj/machinery/camera/active_camera /// The turf where the camera was last updated. var/turf/last_camera_turf @@ -89,7 +89,7 @@ data["activeCamera"] = list( name = active_camera.c_tag, ref = REF(active_camera), - status = active_camera.status, + status = active_camera.camera_enabled, ) return data @@ -194,31 +194,31 @@ desc = "Used to access the various cameras on the outpost." icon_screen = "mining" icon_keyboard = "mining_key" - network = list("mine", "auxbase") + network = list(CAMERANET_NETWORK_MINE, CAMERANET_NETWORK_AUXBASE) circuit = /obj/item/circuitboard/computer/mining /obj/machinery/computer/security/research name = "research camera console" desc = "Used to access the various cameras in science." - network = list("rd") + network = list(CAMERANET_NETWORK_RD) circuit = /obj/item/circuitboard/computer/research /obj/machinery/computer/security/hos name = "\improper Head of Security's camera console" desc = "A custom security console with added access to the labor camp network." - network = list("ss13", "labor") + network = list(CAMERANET_NETWORK_SS13, CAMERANET_NETWORK_LABOR) circuit = null /obj/machinery/computer/security/labor name = "labor camp monitoring" desc = "Used to access the various cameras on the labor camp." - network = list("labor") + network = list(CAMERANET_NETWORK_LABOR) circuit = null /obj/machinery/computer/security/qm name = "\improper Quartermaster's camera console" desc = "A console with access to the mining, auxiliary base and vault camera networks." - network = list("mine", "auxbase", "vault") + network = list(CAMERANET_NETWORK_MINE, CAMERANET_NETWORK_AUXBASE, CAMERANET_NETWORK_VAULT) circuit = null #undef DEFAULT_MAP_SIZE diff --git a/code/game/machinery/computer/camera_advanced.dm b/code/game/machinery/computer/camera_advanced.dm index a2b1b30183b..a271517b0c4 100644 --- a/code/game/machinery/computer/camera_advanced.dm +++ b/code/game/machinery/computer/camera_advanced.dm @@ -8,7 +8,7 @@ var/lock_override = NONE var/mob/camera/ai_eye/remote/eyeobj var/mob/living/current_user = null - var/list/networks = list("ss13") + var/list/networks = list(CAMERANET_NETWORK_SS13) /// Typepath of the action button we use as "off" /// It's a typepath so subtypes can give it fun new names var/datum/action/innate/camera_off/off_action = /datum/action/innate/camera_off diff --git a/code/game/machinery/computer/records/records.dm b/code/game/machinery/computer/records/records.dm index c3aba60e4c6..f0b360ff1c8 100644 --- a/code/game/machinery/computer/records/records.dm +++ b/code/game/machinery/computer/records/records.dm @@ -28,6 +28,7 @@ . = ..() if(.) return + var/mob/user = ui.user var/datum/record/crew/target if(params["crew_ref"]) @@ -41,7 +42,7 @@ return FALSE var/value = trim(params["value"], MAX_BROADCAST_LEN) - investigate_log("[key_name(usr)] changed the field: \"[field]\" with value: \"[target.vars[field]]\" to new value: \"[value || "Unknown"]\"", INVESTIGATE_RECORDS) + investigate_log("[key_name(user)] changed the field: \"[field]\" with value: \"[target.vars[field]]\" to new value: \"[value || "Unknown"]\"", INVESTIGATE_RECORDS) target.vars[field] = value || "Unknown" return TRUE @@ -51,23 +52,23 @@ return FALSE // Don't let people off station futz with the station network. if(!is_station_level(z)) - balloon_alert(usr, "out of range!") + balloon_alert(user, "out of range!") return TRUE expunge_record_info(target) - balloon_alert(usr, "record expunged") + balloon_alert(user, "record expunged") playsound(src, 'sound/machines/terminal_eject.ogg', 70, TRUE) - investigate_log("[key_name(usr)] expunged the record of [target.name].", INVESTIGATE_RECORDS) + investigate_log("[key_name(user)] expunged the record of [target.name].", INVESTIGATE_RECORDS) return TRUE if("login") - authenticated = secure_login(usr) - investigate_log("[key_name(usr)] [authenticated ? "successfully logged" : "failed to log"] into the [src].", INVESTIGATE_RECORDS) + authenticated = secure_login(user) + investigate_log("[key_name(user)] [authenticated ? "successfully logged" : "failed to log"] into the [src].", INVESTIGATE_RECORDS) return TRUE if("logout") - balloon_alert(usr, "logged out") + balloon_alert(user, "logged out") playsound(src, 'sound/machines/terminal_off.ogg', 70, TRUE) authenticated = FALSE @@ -76,22 +77,22 @@ if("purge_records") // Don't let people off station futz with the station network. if(!is_station_level(z)) - balloon_alert(usr, "out of range!") + balloon_alert(user, "out of range!") return TRUE ui.close() - balloon_alert(usr, "purging records...") + balloon_alert(user, "purging records...") playsound(src, 'sound/machines/terminal_alert.ogg', 70, TRUE) - if(do_after(usr, 5 SECONDS)) + if(do_after(user, 5 SECONDS)) for(var/datum/record/crew/entry in GLOB.manifest.general) expunge_record_info(entry) - balloon_alert(usr, "records purged") + balloon_alert(user, "records purged") playsound(src, 'sound/machines/terminal_off.ogg', 70, TRUE) - investigate_log("[key_name(usr)] purged all records.", INVESTIGATE_RECORDS) + investigate_log("[key_name(user)] purged all records.", INVESTIGATE_RECORDS) else - balloon_alert(usr, "interrupted!") + balloon_alert(user, "interrupted!") return TRUE @@ -100,7 +101,7 @@ return FALSE playsound(src, "sound/machines/terminal_button0[rand(1, 8)].ogg", 50, TRUE) - update_preview(usr, params["assigned_view"], target) + update_preview(user, params["assigned_view"], target) return TRUE return FALSE diff --git a/code/game/machinery/computer/records/security.dm b/code/game/machinery/computer/records/security.dm index ec2bec3d266..4788e29e714 100644 --- a/code/game/machinery/computer/records/security.dm +++ b/code/game/machinery/computer/records/security.dm @@ -151,6 +151,8 @@ if(.) return + var/mob/user = ui.user + var/datum/record/crew/target if(params["crew_ref"]) target = locate(params["crew_ref"]) in GLOB.manifest.general @@ -159,29 +161,29 @@ switch(action) if("add_crime") - add_crime(usr, target, params) + add_crime(user, target, params) return TRUE if("delete_record") - investigate_log("[usr] deleted record: \"[target]\".", INVESTIGATE_RECORDS) + investigate_log("[user] deleted record: \"[target]\".", INVESTIGATE_RECORDS) qdel(target) return TRUE if("edit_crime") - edit_crime(usr, target, params) + edit_crime(user, target, params) return TRUE if("invalidate_crime") - invalidate_crime(usr, target, params) + invalidate_crime(user, target, params) return TRUE if("print_record") - print_record(usr, target, params) + print_record(user, target, params) return TRUE if("set_note") var/note = trim(params["note"], MAX_MESSAGE_LEN) - investigate_log("[usr] has changed the security note of record: \"[target]\" from \"[target.security_note]\" to \"[note]\".") + investigate_log("[user] has changed the security note of record: \"[target]\" from \"[target.security_note]\" to \"[note]\".") target.security_note = note return TRUE @@ -322,7 +324,7 @@ /// Handles printing records via UI. Takes the params from UI_act. /obj/machinery/computer/records/security/proc/print_record(mob/user, datum/record/crew/target, list/params) if(printing) - balloon_alert(usr, "printer busy") + balloon_alert(user, "printer busy") playsound(src, 'sound/machines/terminal_error.ogg', 100, TRUE) return FALSE diff --git a/code/game/machinery/computer/telescreen.dm b/code/game/machinery/computer/telescreen.dm index daba0b62f10..2c17e1e088a 100644 --- a/code/game/machinery/computer/telescreen.dm +++ b/code/game/machinery/computer/telescreen.dm @@ -6,7 +6,7 @@ icon_keyboard = null icon_screen = null layer = SIGN_LAYER - network = list("thunder") + network = list(CAMERANET_NETWORK_THUNDERDOME) density = FALSE circuit = null light_power = 0 @@ -137,7 +137,15 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai /obj/machinery/computer/security/telescreen/rd name = "\improper Research Director's telescreen" desc = "Used for watching the AI and the RD's goons from the safety of his office." - network = list("rd", "aicore", "aiupload", "minisat", "xeno", "test", "toxins") + network = list( + CAMERANET_NETWORK_RD, + CAMERANET_NETWORK_AI_CORE, + CAMERANET_NETWORK_AI_UPLOAD, + CAMERANET_NETWORK_MINISAT, + CAMERANET_NETWORK_XENOBIOLOGY, + CAMERANET_NETWORK_TEST_CHAMBER, + CAMERANET_NETWORK_ORDNANCE, + ) frame_type = /obj/item/wallframe/telescreen/rd /obj/item/wallframe/telescreen/rd @@ -147,7 +155,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai /obj/machinery/computer/security/telescreen/research name = "research telescreen" desc = "A telescreen with access to the research division's camera network." - network = list("rd") + network = list(CAMERANET_NETWORK_RD) frame_type = /obj/item/wallframe/telescreen/research /obj/item/wallframe/telescreen/research @@ -157,7 +165,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai /obj/machinery/computer/security/telescreen/ce name = "\improper Chief Engineer's telescreen" desc = "Used for watching the engine, telecommunications and the minisat." - network = list("engine", "singularity", "tcomms", "minisat") + network = list(CAMERANET_NETWORK_ENGINE, CAMERANET_NETWORK_TELECOMMS, CAMERANET_NETWORK_MINISAT) frame_type = /obj/item/wallframe/telescreen/ce /obj/item/wallframe/telescreen/ce @@ -167,7 +175,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai /obj/machinery/computer/security/telescreen/cmo name = "\improper Chief Medical Officer's telescreen" desc = "A telescreen with access to the medbay's camera network." - network = list("medbay") + network = list(CAMERANET_NETWORK_MEDBAY) frame_type = /obj/item/wallframe/telescreen/cmo /obj/item/wallframe/telescreen/cmo @@ -177,7 +185,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai /obj/machinery/computer/security/telescreen/vault name = "vault monitor" desc = "A telescreen that connects to the vault's camera network." - network = list("vault") + network = list(CAMERANET_NETWORK_VAULT) frame_type = /obj/item/wallframe/telescreen/vault /obj/item/wallframe/telescreen/vault @@ -187,7 +195,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai /obj/machinery/computer/security/telescreen/ordnance name = "bomb test site monitor" desc = "A telescreen that connects to the bomb test site's camera." - network = list("ordnance") + network = list(CAMERANET_NETWORK_ORDNANCE) frame_type = /obj/item/wallframe/telescreen/ordnance /obj/item/wallframe/telescreen/ordnance @@ -197,7 +205,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai /obj/machinery/computer/security/telescreen/engine name = "engine monitor" desc = "A telescreen that connects to the engine's camera network." - network = list("engine") + network = list(CAMERANET_NETWORK_ENGINE) frame_type = /obj/item/wallframe/telescreen/engine /obj/item/wallframe/telescreen/engine @@ -207,7 +215,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai /obj/machinery/computer/security/telescreen/turbine name = "turbine monitor" desc = "A telescreen that connects to the turbine's camera." - network = list("turbine") + network = list(CAMERANET_NETWORK_TURBINE) frame_type = /obj/item/wallframe/telescreen/turbine /obj/item/wallframe/telescreen/turbine @@ -217,7 +225,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai /obj/machinery/computer/security/telescreen/interrogation name = "interrogation room monitor" desc = "A telescreen that connects to the interrogation room's camera." - network = list("interrogation") + network = list(CAMERANET_NETWORK_INTERROGATION) frame_type = /obj/item/wallframe/telescreen/interrogation /obj/item/wallframe/telescreen/interrogation @@ -227,7 +235,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai /obj/machinery/computer/security/telescreen/prison name = "prison monitor" desc = "A telescreen that connects to the permabrig's camera network." - network = list("prison") + network = list(CAMERANET_NETWORK_PRISON) frame_type = /obj/item/wallframe/telescreen/prison /obj/item/wallframe/telescreen/prison @@ -237,7 +245,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai /obj/machinery/computer/security/telescreen/auxbase name = "auxiliary base monitor" desc = "A telescreen that connects to the auxiliary base's camera." - network = list("auxbase") + network = list(CAMERANET_NETWORK_AUXBASE) frame_type = /obj/item/wallframe/telescreen/auxbase /obj/item/wallframe/telescreen/auxbase @@ -247,7 +255,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai /obj/machinery/computer/security/telescreen/minisat name = "minisat monitor" desc = "A telescreen that connects to the minisat's camera network." - network = list("minisat") + network = list(CAMERANET_NETWORK_MINISAT) frame_type = /obj/item/wallframe/telescreen/minisat /obj/item/wallframe/telescreen/minisat @@ -257,7 +265,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai /obj/machinery/computer/security/telescreen/aiupload name = "\improper AI upload monitor" desc = "A telescreen that connects to the AI upload's camera network." - network = list("aiupload") + network = list(CAMERANET_NETWORK_AI_UPLOAD) frame_type = /obj/item/wallframe/telescreen/aiupload /obj/item/wallframe/telescreen/aiupload @@ -267,7 +275,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai /obj/machinery/computer/security/telescreen/bar name = "bar monitor" desc = "A telescreen that connects to the bar's camera network. Perfect for checking on customers." - network = list("bar") + network = list(CAMERANET_NETWORK_BAR) frame_type = /obj/item/wallframe/telescreen/bar /obj/item/wallframe/telescreen/bar diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index b3c1e055679..e6830fd1848 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -63,6 +63,9 @@ return NONE if(obj_flags & NO_DECONSTRUCTION) return NONE + if(anchored && state == FRAME_STATE_EMPTY) //when using a screwdriver on an incomplete frame(missing components) no point checking for this + balloon_alert(user, "must be unanchored first!") + return ITEM_INTERACT_BLOCKING if(!tool.tool_start_check(user, amount = (tool.tool_behaviour == TOOL_WELDER ? 1 : 0))) return ITEM_INTERACT_BLOCKING diff --git a/code/game/machinery/machine_frame.dm b/code/game/machinery/machine_frame.dm index 5a6ff12c3d1..84c58d32823 100644 --- a/code/game/machinery/machine_frame.dm +++ b/code/game/machinery/machine_frame.dm @@ -24,12 +24,6 @@ dump_contents() return ..() -/obj/structure/frame/machine/try_dissassemble(mob/living/user, obj/item/tool, disassemble_time) - if(anchored && state == FRAME_STATE_EMPTY) //when using a screwdriver on an incomplete frame(missing components) no point checking for this - balloon_alert(user, "must be unanchored first!") - return FALSE - return ..() - /obj/structure/frame/machine/add_context(atom/source, list/context, obj/item/held_item, mob/user) . = NONE if(isnull(held_item)) @@ -90,6 +84,8 @@ if(!circuit?.needs_anchored) . += span_notice("It can be [EXAMINE_HINT("anchored")] [anchored ? "loose" : "in place"]") if(state == FRAME_STATE_EMPTY) + if(!anchored) + . += span_notice("It can be [EXAMINE_HINT("welded")] or [EXAMINE_HINT("screwed")] apart.") . += span_warning("It needs [EXAMINE_HINT("5 cable")] pieces to wire it.") return if(state == FRAME_STATE_WIRED) diff --git a/code/game/machinery/photobooth.dm b/code/game/machinery/photobooth.dm new file mode 100644 index 00000000000..d7775974269 --- /dev/null +++ b/code/game/machinery/photobooth.dm @@ -0,0 +1,228 @@ +/** + * Photobooth + * A machine used to change occupant's security record photos, working similarly to a + * camera, but doesn't give any physical photo to the user. + * Links to buttons for remote control. + */ +/obj/machinery/photobooth + name = "photobooth" + desc = "A machine with some drapes and a camera, used to update security record photos. Requires Law Office access to use." + icon = 'icons/obj/machines/photobooth.dmi' + icon_state = "booth_open" + base_icon_state = "booth" + state_open = TRUE + circuit = /obj/item/circuitboard/machine/photobooth + light_system = OVERLAY_LIGHT_DIRECTIONAL //Used as a flash here. + light_range = 6 + light_color = COLOR_WHITE + light_power = FLASH_LIGHT_POWER + light_on = FALSE + interaction_flags_atom = INTERACT_ATOM_ATTACK_HAND + req_one_access = list(ACCESS_LAWYER, ACCESS_SECURITY) + ///Boolean on whether we should add a height chart to the underlays of the people we take photos of. + var/add_height_chart = FALSE + ///Boolean on whether the machine is currently busy taking someone's pictures, so you can't start taking pictures while it's working. + var/taking_pictures = FALSE + ///The ID of the photobooth, used to connect it to a button. + var/button_id = "photobooth_machine_default" + +/** + * Security photobooth + * Adds a height chart in the background, used for people you want to evidently stick out as prisoners. + * Good for people you plan on putting in the permabrig. + */ +/obj/machinery/photobooth/security + name = "security photobooth" + desc = "A machine with some drapes and a camera, used to update security record photos. Requires Security access to use, and adds a height chart to the person." + circuit = /obj/item/circuitboard/machine/photobooth/security + req_one_access = list(ACCESS_SECURITY) + color = COLOR_LIGHT_GRAYISH_RED + add_height_chart = TRUE + +/obj/machinery/photobooth/Initialize(mapload) + . = ..() + register_context() + +/obj/machinery/photobooth/interact(mob/living/user, list/modifiers) + . = ..() + if(taking_pictures) + balloon_alert(user, "machine busy!") + return + if(state_open) + close_machine() + else + open_machine() + +/obj/machinery/photobooth/attack_hand_secondary(mob/user, list/modifiers) + if(taking_pictures) + balloon_alert(user, "machine busy!") + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + if(occupant) + if(allowed(user)) + start_taking_pictures() + else + balloon_alert(user, "access denied!") + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + return ..() + +/obj/machinery/photobooth/add_context(atom/source, list/context, obj/item/held_item, mob/user) + if(machine_stat & (BROKEN|NOPOWER) || !isnull(held_item)) + return NONE + + context[SCREENTIP_CONTEXT_LMB] = "[state_open ? "Close" : "Open"] Machine" + if(occupant) + context[SCREENTIP_CONTEXT_RMB] = "Take Pictures" + + return CONTEXTUAL_SCREENTIP_SET + +/obj/machinery/photobooth/close_machine(mob/user, density_to_set = TRUE) + if(panel_open) + balloon_alert(user, "close panel first!") + return + playsound(src, 'sound/effects/curtain.ogg', 50, TRUE) + return ..() + +/obj/machinery/photobooth/open_machine(drop = TRUE, density_to_set = FALSE) + playsound(src, 'sound/effects/curtain.ogg', 50, TRUE) + return ..() + +/obj/machinery/photobooth/update_icon_state() + . = ..() + if(machine_stat & (BROKEN|NOPOWER)) + icon_state = "[base_icon_state]_off" + else if(state_open) + icon_state = "[base_icon_state]_open" + else + icon_state = "[base_icon_state]_closed" + +/obj/machinery/photobooth/update_overlays() + . = ..() + if((machine_stat & MAINT) || panel_open) + . += "[base_icon_state]_panel" + +/obj/machinery/photobooth/screwdriver_act(mob/living/user, obj/item/tool) + if(!has_buckled_mobs() && default_deconstruction_screwdriver(user, icon_state, icon_state, tool)) + update_appearance(UPDATE_ICON) + return ITEM_INTERACT_SUCCESS + return ..() + +/obj/machinery/photobooth/crowbar_act(mob/living/user, obj/item/tool) + if(default_deconstruction_crowbar(tool)) + return ITEM_INTERACT_SUCCESS + return ..() + +/obj/machinery/photobooth/emag_act(mob/user, obj/item/card/emag/emag_card) + if(obj_flags & EMAGGED) + return FALSE + req_access = list() //in case someone sets this to something + req_one_access = list() + balloon_alert(user, "beeps softly") + obj_flags |= EMAGGED + return TRUE + +/** + * Handles the effects of taking pictures of the user, calling finish_taking_pictures + * to actually update the records. + */ +/obj/machinery/photobooth/proc/start_taking_pictures() + taking_pictures = TRUE + if(obj_flags & EMAGGED) + var/mob/living/carbon/carbon_occupant = occupant + for(var/i in 1 to 5) //play a ton of sounds to mimic it blinding you + playsound(src, pick('sound/items/polaroid1.ogg', 'sound/items/polaroid2.ogg'), 75, TRUE) + if(carbon_occupant) + carbon_occupant.flash_act(5) + sleep(0.2 SECONDS) + if(carbon_occupant) + carbon_occupant.emote("scream") + finish_taking_pictures() + return + if(!do_after(occupant, 2 SECONDS, src, timed_action_flags = IGNORE_HELD_ITEM)) //gives them time to put their hand items away. + taking_pictures = FALSE + return + playsound(src, 'sound/items/polaroid1.ogg', 75, TRUE) + flash() + if(!do_after(occupant, 3 SECONDS, src, timed_action_flags = IGNORE_HELD_ITEM)) + taking_pictures = FALSE + return + playsound(src, 'sound/items/polaroid2.ogg', 75, TRUE) + flash() + if(!do_after(occupant, 2 SECONDS, src, timed_action_flags = IGNORE_HELD_ITEM)) + taking_pictures = FALSE + return + finish_taking_pictures() + +///Updates the records (if possible), giving feedback, and spitting the user out if all's well. +/obj/machinery/photobooth/proc/finish_taking_pictures() + taking_pictures = FALSE + if(!GLOB.manifest.change_pictures(occupant.name, occupant, add_height_chart = add_height_chart)) + balloon_alert(occupant, "record not found!") + return + balloon_alert(occupant, "records updated") + open_machine() + +///Mimicing the camera, gives a flash effect by turning the light on and calling flash_end. +/obj/machinery/photobooth/proc/flash() + set_light_on(TRUE) + addtimer(CALLBACK(src, PROC_REF(flash_end)), FLASH_LIGHT_DURATION, TIMER_OVERRIDE|TIMER_UNIQUE) + +///Called by a timer to turn the light off to end the flash effect. +/obj/machinery/photobooth/proc/flash_end() + set_light_on(FALSE) + + +/obj/machinery/button/photobooth + name = "photobooth control button" + desc = "Operates the photobooth from a distance, allowing people to update their security record photos." + device_type = /obj/item/assembly/control/photobooth_control + req_one_access = list(ACCESS_SECURITY, ACCESS_LAWYER) + id = "photobooth_machine_default" + +/obj/machinery/button/photobooth/Initialize(mapload) + . = ..() + if(device) + var/obj/item/assembly/control/photobooth_control/ours = device + ours.id = id + +/obj/machinery/button/photobooth/multitool_act(mob/living/user, obj/item/multitool/tool) + . = ..() + if(tool.buffer && !istype(tool.buffer, /obj/machinery/photobooth)) + return + var/obj/item/assembly/control/photobooth_control/controller = device + controller.booth_machine_ref = WEAKREF(tool.buffer) + id = null + controller.id = null + balloon_alert(user, "linked to [tool.buffer]") + +/obj/item/assembly/control/photobooth_control + name = "photobooth controller" + desc = "A remote controller for the HoP's photobooth." + ///Weakref to the photobooth we're connected to. + var/datum/weakref/booth_machine_ref + +/obj/item/assembly/control/photobooth_control/Initialize(mapload) + ..() + return INITIALIZE_HINT_LATELOAD + +/obj/item/assembly/control/photobooth_control/LateInitialize() + find_machine() + +/// Locate the photobooth we're linked via ID +/obj/item/assembly/control/photobooth_control/proc/find_machine() + for(var/obj/machinery/photobooth/booth as anything in SSmachines.get_machines_by_type_and_subtypes(/obj/machinery/photobooth)) + if(booth.button_id == id) + booth_machine_ref = WEAKREF(booth) + if(booth_machine_ref) + return TRUE + return FALSE + +/obj/item/assembly/control/photobooth_control/activate(mob/activator) + if(!booth_machine_ref) + return + var/obj/machinery/photobooth/machine = booth_machine_ref.resolve() + if(!machine) + return + if(machine.taking_pictures) + balloon_alert(activator, "machine busy!") + return + machine.start_taking_pictures() diff --git a/code/game/machinery/telecomms/computers/logbrowser.dm b/code/game/machinery/telecomms/computers/logbrowser.dm index e202a508ecf..25b5ddd2127 100644 --- a/code/game/machinery/telecomms/computers/logbrowser.dm +++ b/code/game/machinery/telecomms/computers/logbrowser.dm @@ -70,7 +70,7 @@ race = "Humanoid" // NT knows a lot about slimes, but not aliens. Can identify slimes - else if(ispath(mobtype, /mob/living/simple_animal/slime)) + else if(ispath(mobtype, /mob/living/basic/slime)) race = "Slime" // sometimes M gets deleted prematurely for AIs... just check the job diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index 2ad1096ac58..e4fc4592b79 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -128,6 +128,7 @@ post_buckle_mob(M) SEND_SIGNAL(src, COMSIG_MOVABLE_BUCKLE, M, force) + SEND_SIGNAL(M, COMSIG_MOB_BUCKLED, src) return TRUE /obj/buckle_mob(mob/living/M, force = FALSE, check_loc = TRUE) @@ -163,6 +164,7 @@ if(!length(buckled_mobs)) UnregisterSignal(src, COMSIG_MOVABLE_SET_ANCHORED) SEND_SIGNAL(src, COMSIG_MOVABLE_UNBUCKLE, buckled_mob, force) + SEND_SIGNAL(buckled_mob, COMSIG_MOB_UNBUCKLED, src) if(can_fall) var/turf/location = buckled_mob.loc diff --git a/code/game/objects/effects/anomalies/anomalies_pyroclastic.dm b/code/game/objects/effects/anomalies/anomalies_pyroclastic.dm index a4880fdc267..9cb92a6961d 100644 --- a/code/game/objects/effects/anomalies/anomalies_pyroclastic.dm +++ b/code/game/objects/effects/anomalies/anomalies_pyroclastic.dm @@ -32,12 +32,8 @@ tile.atmos_spawn_air("[GAS_O2]=500;[GAS_PLASMA]=500;[TURF_TEMPERATURE(1000)]") //Make it hot and burny for the new slime var/new_colour = pick(/datum/slime_type/red, /datum/slime_type/orange) - var/mob/living/simple_animal/slime/pyro = new(tile, new_colour) - pyro.rabid = TRUE - pyro.amount_grown = SLIME_EVOLUTION_THRESHOLD - pyro.Evolve() - var/datum/action/innate/slime/reproduce/repro_action = new - repro_action.Grant(pyro) + var/mob/living/basic/slime/pyro = new(tile, new_colour, SLIME_LIFE_STAGE_ADULT) + pyro.set_enraged_behaviour() var/mob/chosen_one = SSpolling.poll_ghosts_for_target(check_jobban = ROLE_SENTIENCE, poll_time = 10 SECONDS, checked_target = pyro, ignore_category = POLL_IGNORE_PYROSLIME, alert_pic = pyro, role_name_text = "pyroclastic anomaly slime") if(isnull(chosen_one)) diff --git a/code/game/objects/effects/particles/smoke.dm b/code/game/objects/effects/particles/smoke.dm index 4f31ffc0869..b41b4eb1d96 100644 --- a/code/game/objects/effects/particles/smoke.dm +++ b/code/game/objects/effects/particles/smoke.dm @@ -46,3 +46,16 @@ fadein = 0.7 SECONDS position = generator(GEN_VECTOR, list(-3, 5, 0), list(3, 6.5, 0), NORMAL_RAND) velocity = generator(GEN_VECTOR, list(-0.1, 0.4, 0), list(0.1, 0.5, 0), NORMAL_RAND) + +/particles/fog + icon = 'icons/effects/particles/smoke.dmi' + icon_state = list("chill_1" = 2, "chill_2" = 2, "chill_3" = 1) + +/particles/fog/breath + count = 1 + spawning = 1 + lifespan = 1 SECONDS + fade = 0.5 SECONDS + grow = 0.05 + spin = 2 + color = "#fcffff77" diff --git a/code/game/objects/effects/spawners/random/trash.dm b/code/game/objects/effects/spawners/random/trash.dm index b10dbc1f7f8..4ed9fe2a812 100644 --- a/code/game/objects/effects/spawners/random/trash.dm +++ b/code/game/objects/effects/spawners/random/trash.dm @@ -134,6 +134,13 @@ /obj/effect/spawner/random/trash/cigbutt = 2, ) +/obj/effect/spawner/random/trash/grime/Initialize(mapload) + if(mapload) + var/turf/location = get_turf(loc) + if(location.initial_gas_mix != OPENTURF_DEFAULT_ATMOS && location.initial_gas_mix != OPENTURF_DIRTY_ATMOS) + loot -= /mob/living/basic/cockroach + return ..() + /obj/effect/spawner/random/trash/moisture name = "water hazard spawner" icon_state = "caution" @@ -150,6 +157,13 @@ /mob/living/basic/axolotl = 1, ) +/obj/effect/spawner/random/trash/moisture/Initialize(mapload) + if(mapload) + var/turf/location = get_turf(loc) + if(location.initial_gas_mix != OPENTURF_DEFAULT_ATMOS && location.initial_gas_mix != OPENTURF_DIRTY_ATMOS) + loot -= list(/mob/living/basic/frog, /mob/living/basic/axolotl) + return ..() + /obj/effect/spawner/random/trash/graffiti name = "random graffiti spawner" icon_state = "rune" diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 16ea8a4fbda..cbacde315e1 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -984,7 +984,8 @@ return SEND_SIGNAL(src, COMSIG_ITEM_MICROWAVE_ACT, microwave_source, microwaver, randomize_pixel_offset) -/obj/item/proc/grind_requirements(obj/machinery/reagentgrinder/R) //Used to check for extra requirements for grinding an object +//Used to check for extra requirements for blending(grinding or juicing) an object +/obj/item/proc/blend_requirements(obj/machinery/reagentgrinder/R) return TRUE ///Called BEFORE the object is ground up - use this to change grind results based on conditions. Return "-1" to prevent the grinding from occurring @@ -995,10 +996,12 @@ /obj/item/proc/grind(datum/reagents/target_holder, mob/user) if(on_grind() == -1) return FALSE - if(target_holder) + + if(length(grind_results)) target_holder.add_reagent_list(grind_results) - if(reagents) - reagents.trans_to(target_holder, reagents.total_volume, transferred_by = user) + if(reagents?.total_volume) + reagents.trans_to(target_holder, reagents.total_volume, transferred_by = user) + return TRUE ///Called BEFORE the object is ground up - use this to change grind results based on conditions. Return "-1" to prevent the grinding from occurring @@ -1009,12 +1012,13 @@ ///Juice item, converting nutriments into juice_typepath and transfering to target_holder if specified /obj/item/proc/juice(datum/reagents/target_holder, mob/user) - if(on_juice() == -1) + if(on_juice() == -1 || !reagents?.total_volume) return FALSE - if(reagents) + + if(ispath(juice_typepath)) reagents.convert_reagent(/datum/reagent/consumable, juice_typepath, include_source_subtypes = TRUE) - if(target_holder) - reagents.trans_to(target_holder, reagents.total_volume, transferred_by = user) + reagents.trans_to(target_holder, reagents.total_volume, transferred_by = user) + return TRUE /obj/item/proc/set_force_string() diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index 6a4705d2589..ac523644ab7 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -591,7 +591,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM // CIGARS // //////////// /obj/item/clothing/mask/cigarette/cigar - name = "premium cigar" + name = "cigar" desc = "A brown roll of tobacco and... well, you're not quite sure. This thing's huge!" icon_state = "cigaroff" icon_on = "cigaron" @@ -606,6 +606,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM list_reagents = list(/datum/reagent/drug/nicotine = 25) choke_time_max = 40 SECONDS +/obj/item/clothing/mask/cigarette/cigar/premium + name = "premium cigar" + //this is the version that actually spawns in premium cigar cases, the distinction is made so that the smoker quirk can differentiate between the default cigar box and its subtypes + /obj/item/clothing/mask/cigarette/cigar/cohiba name = "\improper Cohiba Robusto cigar" desc = "There's little more you could want from a cigar." diff --git a/code/game/objects/items/circuitboards/computer_circuitboards.dm b/code/game/objects/items/circuitboards/computer_circuitboards.dm index 9cf1cdb7cbe..41950561571 100644 --- a/code/game/objects/items/circuitboards/computer_circuitboards.dm +++ b/code/game/objects/items/circuitboards/computer_circuitboards.dm @@ -599,28 +599,3 @@ /obj/item/circuitboard/computer/exodrone_console name = "Exploration Drone Control Console" build_path = /obj/machinery/computer/exodrone_control_console - -/obj/item/circuitboard/computer/service_orders - name = "Service Order" - greyscale_colors = CIRCUIT_COLOR_SUPPLY - build_path = /obj/machinery/computer/department_orders/service - -/obj/item/circuitboard/computer/engineering_orders - name = "Engineering Order" - greyscale_colors = CIRCUIT_COLOR_SUPPLY - build_path = /obj/machinery/computer/department_orders/engineering - -/obj/item/circuitboard/computer/science_orders - name = "Science Order" - greyscale_colors = CIRCUIT_COLOR_SUPPLY - build_path = /obj/machinery/computer/department_orders/science - -/obj/item/circuitboard/computer/security_orders - name = "Security Order" - greyscale_colors = CIRCUIT_COLOR_SUPPLY - build_path = /obj/machinery/computer/department_orders/security - -/obj/item/circuitboard/computer/medical_orders - name = "Medical Order" - greyscale_colors = CIRCUIT_COLOR_SUPPLY - build_path = /obj/machinery/computer/department_orders/medical diff --git a/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm index b7fb64362d4..8d6c240ed0d 100644 --- a/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm @@ -79,7 +79,6 @@ req_components = list(/datum/stock_part/capacitor = 1) needs_anchored = FALSE - /obj/item/circuitboard/machine/telecomms/broadcaster name = "Subspace Broadcaster" greyscale_colors = CIRCUIT_COLOR_ENGINEERING @@ -1122,6 +1121,19 @@ build_path = /obj/machinery/rnd/production/techfab/department/security //Service +/obj/item/circuitboard/machine/photobooth + name = "Photobooth" + greyscale_colors = CIRCUIT_COLOR_SERVICE + build_path = /obj/machinery/photobooth + req_components = list( + /datum/stock_part/matter_bin = 1, + /datum/stock_part/servo = 1, + ) + +/obj/item/circuitboard/machine/photobooth/security + name = "Security Photobooth" + greyscale_colors = CIRCUIT_COLOR_SECURITY + build_path = /obj/machinery/photobooth/security /obj/item/circuitboard/machine/biogenerator name = "Biogenerator" diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm index 6b627fa8eff..026e560cc97 100644 --- a/code/game/objects/items/devices/laserpointer.dm +++ b/code/game/objects/items/devices/laserpointer.dm @@ -261,7 +261,7 @@ //cameras: chance to EMP the camera else if(istype(target, /obj/machinery/camera)) var/obj/machinery/camera/target_camera = target - if(!target_camera.status && !target_camera.emped) + if(!target_camera.camera_enabled && !target_camera.emped) outmsg = span_notice("You point [src] at [target_camera], but it seems to be disabled.") else if(prob(effectchance * diode.rating)) target_camera.emp_act(EMP_HEAVY) diff --git a/code/game/objects/items/devices/scanners/slime_scanner.dm b/code/game/objects/items/devices/scanners/slime_scanner.dm index 90da09e16e9..ee8567ac6cc 100644 --- a/code/game/objects/items/devices/scanners/slime_scanner.dm +++ b/code/game/objects/items/devices/scanners/slime_scanner.dm @@ -21,18 +21,18 @@ if (!isslime(interacting_with)) to_chat(user, span_warning("This device can only scan slimes!")) return ITEM_INTERACT_BLOCKING - var/mob/living/simple_animal/slime/scanned_slime = interacting_with + var/mob/living/basic/slime/scanned_slime = interacting_with slime_scan(scanned_slime, user) return ITEM_INTERACT_SUCCESS -/proc/slime_scan(mob/living/simple_animal/slime/scanned_slime, mob/living/user) +/proc/slime_scan(mob/living/basic/slime/scanned_slime, mob/living/user) var/to_render = "Slime scan results:\ \n[span_notice("[scanned_slime.slime_type.colour] [scanned_slime.life_stage] slime")]\ - \nNutrition: [scanned_slime.nutrition]/[scanned_slime.max_nutrition]" + \nNutrition: [scanned_slime.nutrition]/[SLIME_MAX_NUTRITION]" - if (scanned_slime.nutrition < scanned_slime.starve_nutrition) + if (scanned_slime.nutrition < SLIME_STARVE_NUTRITION) to_render += "\n[span_warning("Warning: slime is starving!")]" - else if (scanned_slime.nutrition < scanned_slime.hunger_nutrition) + else if (scanned_slime.nutrition < SLIME_HUNGER_NUTRITION) to_render += "\n[span_warning("Warning: slime is hungry")]" to_render += "\nElectric charge strength: [scanned_slime.powerlevel]\nHealth: [round(scanned_slime.health/scanned_slime.maxHealth,0.01)*100]%" diff --git a/code/game/objects/items/melee/baton.dm b/code/game/objects/items/melee/baton.dm index af4ac798fe3..b0d05d41b5c 100644 --- a/code/game/objects/items/melee/baton.dm +++ b/code/game/objects/items/melee/baton.dm @@ -190,7 +190,6 @@ if(user) target.lastattacker = user.real_name target.lastattackerckey = user.ckey - target.LAssailant = WEAKREF(user) if(log_stun_attack) log_combat(user, target, "stun attacked", src) if(baton_effect(target, user, modifiers) && user) diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index d31dc5caea6..7a025bc6bcc 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -145,7 +145,7 @@ /obj/item/stack/set_custom_materials(list/materials, multiplier=1, is_update=FALSE) return is_update ? ..() : set_mats_per_unit(materials, multiplier/(amount || 1)) -/obj/item/stack/grind_requirements() +/obj/item/stack/blend_requirements() if(is_cyborg) to_chat(usr, span_warning("[src] is too integrated into your chassis and can't be ground up!")) return diff --git a/code/game/objects/items/stickers.dm b/code/game/objects/items/stickers.dm index 2ebe2dcf21b..a02cfd9515e 100644 --- a/code/game/objects/items/stickers.dm +++ b/code/game/objects/items/stickers.dm @@ -161,6 +161,14 @@ name = "assistant sticker" icon_state = "tider" +/obj/item/sticker/skub + name = "skub sticker" + icon_state = "skub" + +/obj/item/sticker/anti_skub + name = "anti-skub sticker" + icon_state = "anti_skub" + /obj/item/sticker/syndicate name = "syndicate sticker" icon_state = "synd" diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm index d83c80ed565..95eb304509f 100644 --- a/code/game/objects/items/storage/fancy.dm +++ b/code/game/objects/items/storage/fancy.dm @@ -424,7 +424,7 @@ base_icon_state = "cigarcase" w_class = WEIGHT_CLASS_NORMAL contents_tag = "premium cigar" - spawn_type = /obj/item/clothing/mask/cigarette/cigar + spawn_type = /obj/item/clothing/mask/cigarette/cigar/premium spawn_count = 5 spawn_coupon = FALSE display_cigs = FALSE diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index c2f654f8553..1f2078f0037 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -161,7 +161,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 /obj/item/claymore/highlander/process() if(ishuman(loc)) var/mob/living/carbon/human/holder = loc - layer = ABOVE_ALL_MOB_LAYER //NO HIDING BEHIND PLANTS FOR YOU, DICKWEED (HA GET IT, BECAUSE WEEDS ARE PLANTS) + holder.layer = ABOVE_ALL_MOB_LAYER //NO HIDING BEHIND PLANTS FOR YOU, DICKWEED (HA GET IT, BECAUSE WEEDS ARE PLANTS) ADD_TRAIT(holder, TRAIT_NOBLOOD, HIGHLANDER_TRAIT) //AND WE WON'T BLEED OUT LIKE COWARDS else if(!(flags_1 & ADMIN_SPAWNED_1)) @@ -285,7 +285,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 return INITIALIZE_HINT_QDEL /obj/item/claymore/highlander/robot/process() - layer = ABOVE_ALL_MOB_LAYER + loc.layer = ABOVE_ALL_MOB_LAYER /obj/item/katana name = "katana" diff --git a/code/game/objects/structures/construction_console/construction_console.dm b/code/game/objects/structures/construction_console/construction_console.dm index 720f568369e..d3ae2984e31 100644 --- a/code/game/objects/structures/construction_console/construction_console.dm +++ b/code/game/objects/structures/construction_console/construction_console.dm @@ -10,7 +10,7 @@ /obj/machinery/computer/camera_advanced/base_construction name = "generic base construction console" desc = "An industrial computer integrated with a camera-assisted rapid construction drone." - networks = list("ss13") + networks = list(CAMERANET_NETWORK_SS13) circuit = /obj/item/circuitboard/computer/base_construction off_action = /datum/action/innate/camera_off/base_construction jump_action = null diff --git a/code/game/objects/structures/secure_safe.dm b/code/game/objects/structures/secure_safe.dm index c4d5d29f8eb..bc73eea6ec0 100644 --- a/code/game/objects/structures/secure_safe.dm +++ b/code/game/objects/structures/secure_safe.dm @@ -79,6 +79,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/secure_safe, 32) base_icon_state = "safe" armor_type = /datum/armor/safe_caps_spare max_integrity = 300 + damage_deflection = 30 // prevents stealing the captain's spare using null rods/lavaland monsters/AP projectiles density = TRUE anchored_tabletop_offset = 4 custom_materials = list(/datum/material/gold = SMALL_MATERIAL_AMOUNT) diff --git a/code/game/turfs/open/_open.dm b/code/game/turfs/open/_open.dm index 6b308fd89ec..3a81ae8a6e4 100644 --- a/code/game/turfs/open/_open.dm +++ b/code/game/turfs/open/_open.dm @@ -305,7 +305,7 @@ /turf/open/proc/water_vapor_gas_act() MakeSlippery(TURF_WET_WATER, min_wet_time = 100, wet_time_to_add = 50) - for(var/mob/living/simple_animal/slime/M in src) + for(var/mob/living/basic/slime/M in src) M.apply_water() wash(CLEAN_WASH) diff --git a/code/modules/antagonists/abductor/equipment/glands/slime.dm b/code/modules/antagonists/abductor/equipment/glands/slime.dm index 853f0bb6473..6d3287ecae6 100644 --- a/code/modules/antagonists/abductor/equipment/glands/slime.dm +++ b/code/modules/antagonists/abductor/equipment/glands/slime.dm @@ -21,6 +21,5 @@ to_chat(owner, span_warning("You feel nauseated!")) owner.vomit(VOMIT_CATEGORY_DEFAULT, lost_nutrition = 20) - var/mob/living/simple_animal/slime/Slime = new(get_turf(owner), /datum/slime_type/grey) - Slime.set_friends(list(owner)) - Slime.set_leader(owner) + var/mob/living/basic/slime/new_baby_slime = new(get_turf(owner), /datum/slime_type/grey) + new_baby_slime.befriend(owner) diff --git a/code/modules/antagonists/abductor/machinery/camera.dm b/code/modules/antagonists/abductor/machinery/camera.dm index 36618e62269..bbf6ea2db39 100644 --- a/code/modules/antagonists/abductor/machinery/camera.dm +++ b/code/modules/antagonists/abductor/machinery/camera.dm @@ -1,7 +1,7 @@ /obj/machinery/computer/camera_advanced/abductor name = "Human Observation Console" var/team_number = 0 - networks = list("ss13", "abductor") + networks = list(CAMERANET_NETWORK_SS13, CAMERANET_NETWORK_ABDUCTOR) var/obj/machinery/abductor/console/console /// We can't create our actions until after LateInitialize /// So we instead do it on the first call to GrantActions diff --git a/code/modules/antagonists/heretic/items/unfathomable_curio.dm b/code/modules/antagonists/heretic/items/unfathomable_curio.dm index 4fa86427d27..716b0927f54 100644 --- a/code/modules/antagonists/heretic/items/unfathomable_curio.dm +++ b/code/modules/antagonists/heretic/items/unfathomable_curio.dm @@ -44,9 +44,29 @@ if(!(slot & slot_flags)) return + RegisterSignal(user, COMSIG_LIVING_CHECK_BLOCK, PROC_REF(shield_reaction)) + if(!IS_HERETIC(user)) to_chat(user, span_warning("The curio wraps around you, and you feel the beating of something dark inside it...")) +/obj/item/storage/belt/unfathomable_curio/dropped(mob/user) + . = ..() + UnregisterSignal(user, COMSIG_LIVING_CHECK_BLOCK) + +// Here we make sure our curio is only able to block while worn on the belt slot +/obj/item/storage/belt/unfathomable_curio/proc/shield_reaction(mob/living/carbon/human/owner, + atom/movable/hitby, + damage = 0, + attack_text = "the attack", + attack_type = MELEE_ATTACK, + armour_penetration = 0, + damage_type = BRUTE, +) + SIGNAL_HANDLER + + if(hit_reaction(owner, hitby, attack_text, 0, damage, attack_type) && (owner.belt == src)) + return SUCCESSFUL_BLOCK + return NONE // Our on hit effect /obj/item/storage/belt/unfathomable_curio/proc/shield_damaged(mob/living/carbon/wearer, attack_text, new_current_charges) diff --git a/code/modules/antagonists/malf_ai/malf_ai_modules.dm b/code/modules/antagonists/malf_ai/malf_ai_modules.dm index 109b5c9ce49..fe30922dbeb 100644 --- a/code/modules/antagonists/malf_ai/malf_ai_modules.dm +++ b/code/modules/antagonists/malf_ai/malf_ai_modules.dm @@ -805,7 +805,7 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) for(var/obj/machinery/camera/C as anything in GLOB.cameranet.cameras) if(!uses) break - if(!C.status || C.view_range != initial(C.view_range)) + if(!C.camera_enabled || C.view_range != initial(C.view_range)) C.toggle_cam(owner_AI, 0) //Reactivates the camera based on status. Badly named proc. C.view_range = initial(C.view_range) fixed_cameras++ @@ -835,10 +835,6 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/ai_module)) var/upgraded_cameras = 0 for(var/obj/machinery/camera/camera as anything in GLOB.cameranet.cameras) - var/obj/structure/camera_assembly/assembly = camera.assembly_ref?.resolve() - if(!assembly) - continue - var/upgraded = FALSE if(!camera.isXRay()) diff --git a/code/modules/asset_cache/assets/tcomms.dm b/code/modules/asset_cache/assets/tcomms.dm index ecfdb4a498c..fdbab5f4c9b 100644 --- a/code/modules/asset_cache/assets/tcomms.dm +++ b/code/modules/asset_cache/assets/tcomms.dm @@ -1,5 +1,5 @@ /datum/asset/spritesheet/telecomms - name="tcomms" + name = "tcomms" /datum/asset/spritesheet/telecomms/create_spritesheets() var/list/inserted_states = list() // No need to send entire `telecomms.dmi`. diff --git a/code/modules/bitrunning/antagonists/netguardian.dm b/code/modules/bitrunning/antagonists/netguardian.dm index 035dcc62eea..39d64675334 100644 --- a/code/modules/bitrunning/antagonists/netguardian.dm +++ b/code/modules/bitrunning/antagonists/netguardian.dm @@ -45,7 +45,7 @@ speech_span = SPAN_ROBOT death_message = "malfunctions!" - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + habitable_atmos = null minimum_survivable_temperature = TCMB ai_controller = /datum/ai_controller/basic_controller/netguardian diff --git a/code/modules/cargo/department_order.dm b/code/modules/cargo/department_order.dm deleted file mode 100644 index c8eb6e99ac2..00000000000 --- a/code/modules/cargo/department_order.dm +++ /dev/null @@ -1,277 +0,0 @@ - -///cooldown for each department, assoc type 2 cooldown. global, so rebuilding the console doesn't refresh the cd -GLOBAL_LIST_INIT(department_order_cooldowns, list( - /obj/machinery/computer/department_orders/service = 0, - /obj/machinery/computer/department_orders/engineering = 0, - /obj/machinery/computer/department_orders/science = 0, - /obj/machinery/computer/department_orders/security = 0, - /obj/machinery/computer/department_orders/medical = 0, -)) - -/obj/machinery/computer/department_orders - name = "department order console" - desc = "Used to order supplies for a department. Crates ordered this way will be locked until they reach their destination." - icon_screen = "supply" - light_color = COLOR_BRIGHT_ORANGE - ///reference to the order we've made UNTIL it gets sent on the supply shuttle. this is so heads can cancel it - var/datum/supply_order/department_order - ///access required to override an order - this should be a head of staff for the department - var/override_access - ///where this computer expects deliveries to need to go, passed onto orders. it will see if the FIRST one exists, then try a fallback. if no fallbacks it throws an error - var/list/department_delivery_areas = list() - ///which groups this computer can order from - var/list/dep_groups = list() - /// If this departmental order console currently is on cooldown. - var/on_cooldown = FALSE - - /// Our radio object we use to talk to our department. - var/obj/item/radio/radio - /// The radio key typepath that will be instantiated and inserted into our radio. - var/obj/item/encryptionkey/radio_key_typepath - /// The radio channel we will speak into by default. - var/radio_channel - -/obj/machinery/computer/department_orders/Initialize(mapload, obj/item/circuitboard/board) - . = ..() - // All maps should have ONLY ONE of each order console roundstart - REGISTER_REQUIRED_MAP_ITEM(1, 1) - - if (radio_channel && radio_key_typepath) - radio = new(src) - radio.keyslot = new radio_key_typepath - radio.subspace_transmission = TRUE - radio.canhear_range = 0 - radio.recalculateChannels() - - if(mapload) //check for mapping errors - for(var/delivery_area_type in department_delivery_areas) - if(GLOB.areas_by_type[delivery_area_type]) - return - //every area fallback didn't exist on this map so throw a mapping error and set some generic area that uuuh please exist okay - log_mapping("[src] has no valid areas to deliver to on this map, add some more fallback areas to its \"department_delivery_areas\" var.") - department_delivery_areas = list(/area/station/hallway/primary/central) //if this doesn't exist like honestly fuck your map man - -/obj/machinery/computer/department_orders/Destroy() - QDEL_NULL(radio) - - return ..() - -/obj/machinery/computer/department_orders/ui_interact(mob/user, datum/tgui/ui) - . = ..() - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "DepartmentOrders") - ui.open() - -/obj/machinery/computer/department_orders/ui_data(mob/user) - var/list/data = list() - var/cooldown = GLOB.department_order_cooldowns[type] - world.time - if(cooldown < 0) - data["time_left"] = 0 - else - data["time_left"] = DisplayTimeText(cooldown, 1) - data["can_override"] = department_order ? TRUE : FALSE - return data - -/obj/machinery/computer/department_orders/ui_static_data(mob/user) - var/list/data = list() - var/list/supply_data = list() //each item in this needs to be a Category - for(var/pack_key in SSshuttle.supply_packs) - var/datum/supply_pack/pack = SSshuttle.supply_packs[pack_key] - //skip groups we do not offer - if(!(pack.group in dep_groups)) - continue - //find which group this belongs to, make the group if it doesn't exist - var/list/target_group - for(var/list/possible_group in supply_data) - if(possible_group["name"] == pack.group) - target_group = possible_group - break - if(!target_group) - target_group = list( - "name" = pack.group, - "packs" = list(), - ) - supply_data += list(target_group) - //skip packs we should not show, even if we should show the group - if((pack.hidden && !(obj_flags & EMAGGED)) || (pack.special && !pack.special_enabled) || pack.drop_pod_only || pack.goody) - continue - //finally the pack data itself - target_group["packs"] += list(list( - "name" = pack.name, - "cost" = pack.get_cost(), - "id" = pack.id, - "desc" = pack.desc || pack.name, // If there is a description, use it. Otherwise use the pack's name. - )) - data["supplies"] = supply_data - return data - -/obj/machinery/computer/department_orders/ui_act(action, list/params) - . = ..() - - if(!isliving(usr)) - return - var/mob/living/orderer = usr - - var/obj/item/card/id/id_card = orderer.get_idcard(hand_first = TRUE) - - //needs to come BEFORE preventing actions! - if(action == "override_order") - if(!(override_access in id_card.GetAccess())) - balloon_alert(usr, "requires head of staff access!") - playsound(src, 'sound/machines/buzz-sigh.ogg', 30, TRUE) - return - - if(department_order && (department_order in SSshuttle.shopping_list)) - GLOB.department_order_cooldowns[type] = 0 - SSshuttle.shopping_list -= department_order - department_order = null - UnregisterSignal(SSshuttle, COMSIG_SUPPLY_SHUTTLE_BUY) - return TRUE - - if(GLOB.department_order_cooldowns[type] > world.time) - return - - if(!check_access(id_card)) - balloon_alert(usr, "access denied!") - playsound(src, 'sound/machines/buzz-sigh.ogg', 30, TRUE) - return - - . = TRUE - var/id = params["id"] - id = text2path(id) || id - var/datum/supply_pack/pack = SSshuttle.supply_packs[id] - if(!pack) - say("Something went wrong!") - CRASH("requested supply pack id \"[id]\" not found!") - if((pack.hidden && !(obj_flags & EMAGGED)) || (pack.special && !pack.special_enabled) || pack.drop_pod_only || pack.goody) - return - var/name = "*None Provided*" - var/rank = "*None Provided*" - var/ckey = usr.ckey - if(ishuman(usr)) - var/mob/living/carbon/human/human_orderer = usr - name = human_orderer.get_authentification_name() - rank = human_orderer.get_assignment(hand_first = TRUE) - else if(HAS_SILICON_ACCESS(usr)) - name = usr.real_name - rank = "Silicon" - //already have a signal to finalize the order - var/already_signalled = department_order ? TRUE : FALSE - var/chosen_delivery_area - for(var/delivery_area_type in department_delivery_areas) - if(GLOB.areas_by_type[delivery_area_type]) - chosen_delivery_area = delivery_area_type - break - - if(SSshuttle.supply.get_order_count(pack) == OVER_ORDER_LIMIT) - playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE) - say("ERROR: No more then [CARGO_MAX_ORDER] of any pack may be ordered at once") - return - - department_order = new( - pack = pack, - orderer = name, - orderer_rank = rank, - orderer_ckey = ckey, - reason = "", - paying_account = null, - department_destination = chosen_delivery_area, - coupon = null, - manifest_can_fail = FALSE, - ) - SSshuttle.shopping_list += department_order - if(!already_signalled) - RegisterSignal(SSshuttle, COMSIG_SUPPLY_SHUTTLE_BUY, PROC_REF(finalize_department_order)) - say("Order processed. Cargo will deliver the crate when it comes in on their shuttle. NOTICE: Heads of staff may override the order.") - calculate_cooldown(pack.cost) - -///signal when the supply shuttle begins to spawn orders. we forget the current order preventing it from being overridden (since it's already past the point of no return on undoing the order) -/obj/machinery/computer/department_orders/proc/finalize_department_order(datum/subsystem) - SIGNAL_HANDLER - if(department_order && (department_order in SSshuttle.shopping_list)) - department_order = null - UnregisterSignal(subsystem, COMSIG_SUPPLY_SHUTTLE_BUY) - -/obj/machinery/computer/department_orders/proc/calculate_cooldown(credits) - //minimum almost the lowest value of a crate - var/min = CARGO_CRATE_VALUE * 1.6 - //maximum fairly expensive crate at 3000 - var/max = CARGO_CRATE_VALUE * 15 - credits = clamp(credits, min, max) - var/time_y = (credits - min)/(max - min) + 1 //convert to between 1 and 2 - time_y = 10 MINUTES * time_y - GLOB.department_order_cooldowns[type] = world.time + time_y - -/obj/machinery/computer/department_orders/process() - . = ..() - if (!.) - return FALSE - - if (GLOB.department_order_cooldowns[type] > world.time) - on_cooldown = TRUE - else if (on_cooldown) - radio?.talk_into(src, "Order cooldown has expired! A new order may now be placed!", radio_channel) - playsound(src, 'sound/machines/ping.ogg', 30, TRUE) - on_cooldown = FALSE - - return TRUE - -/obj/machinery/computer/department_orders/service - name = "service order console" - circuit = /obj/item/circuitboard/computer/service_orders - department_delivery_areas = list(/area/station/hallway/secondary/service, /area/station/service/bar/atrium) - override_access = ACCESS_HOP - req_one_access = list(ACCESS_SERVICE) - dep_groups = list("Service", "Food & Hydroponics", "Livestock", "Costumes & Toys") - radio_key_typepath = /obj/item/encryptionkey/headset_service - radio_channel = RADIO_CHANNEL_SERVICE - -/obj/machinery/computer/department_orders/engineering - name = "engineering order console" - circuit = /obj/item/circuitboard/computer/engineering_orders - department_delivery_areas = list(/area/station/engineering/main) - override_access = ACCESS_CE - req_one_access = REGION_ACCESS_ENGINEERING - dep_groups = list("Engineering", "Engine Construction", "Canisters & Materials") - radio_key_typepath = /obj/item/encryptionkey/headset_eng - radio_channel = RADIO_CHANNEL_ENGINEERING - -/obj/machinery/computer/department_orders/science - name = "science order console" - circuit = /obj/item/circuitboard/computer/science_orders - department_delivery_areas = list(/area/station/science/research) - override_access = ACCESS_RD - req_one_access = REGION_ACCESS_RESEARCH - dep_groups = list("Science", "Livestock", "Canisters & Materials") - radio_key_typepath = /obj/item/encryptionkey/headset_sci - radio_channel = RADIO_CHANNEL_SCIENCE - -/obj/machinery/computer/department_orders/security - name = "security order console" - circuit = /obj/item/circuitboard/computer/security_orders - department_delivery_areas = list( - /area/station/security/office, - /area/station/security/brig, - /area/station/security/brig/upper, - ) - override_access = ACCESS_HOS - req_one_access = REGION_ACCESS_SECURITY - dep_groups = list("Security", "Armory") - radio_key_typepath = /obj/item/encryptionkey/headset_sec - radio_channel = RADIO_CHANNEL_SECURITY - -/obj/machinery/computer/department_orders/medical - name = "medical order console" - circuit = /obj/item/circuitboard/computer/medical_orders - department_delivery_areas = list( - /area/station/medical/medbay/central, - /area/station/medical/medbay, - /area/station/medical/treatment_center, - /area/station/medical/storage, - ) - override_access = ACCESS_CMO - req_one_access = REGION_ACCESS_MEDBAY - dep_groups = list("Medical") - radio_key_typepath = /obj/item/encryptionkey/headset_med - radio_channel = RADIO_CHANNEL_MEDICAL diff --git a/code/modules/client/preferences/addict.dm b/code/modules/client/preferences/addict.dm new file mode 100644 index 00000000000..3c63b5ea867 --- /dev/null +++ b/code/modules/client/preferences/addict.dm @@ -0,0 +1,62 @@ +/proc/setup_junkie_addictions(list/possible_addictions) + . = possible_addictions + for(var/datum/reagent/addiction as anything in .) + . -= addiction + .[addiction::name] = addiction + +/datum/preference/choiced/junkie + category = PREFERENCE_CATEGORY_MANUALLY_RENDERED + savefile_key = "junkie" + savefile_identifier = PREFERENCE_CHARACTER + +/datum/preference/choiced/junkie/init_possible_values() + return list("Random") + assoc_to_keys(GLOB.possible_junkie_addictions) + +/datum/preference/choiced/junkie/create_default_value() + return "Random" + +/datum/preference/choiced/junkie/is_accessible(datum/preferences/preferences) + if (!..()) + return FALSE + return "Junkie" in preferences.all_quirks + +/datum/preference/choiced/junkie/apply_to_human(mob/living/carbon/human/target, value) + return + +/datum/preference/choiced/smoker + category = PREFERENCE_CATEGORY_MANUALLY_RENDERED + savefile_key = "smoker" + savefile_identifier = PREFERENCE_CHARACTER + +/datum/preference/choiced/smoker/init_possible_values() + return list("Random") + assoc_to_keys(GLOB.possible_smoker_addictions) + +/datum/preference/choiced/smoker/create_default_value() + return "Random" + +/datum/preference/choiced/smoker/is_accessible(datum/preferences/preferences) + if (!..()) + return FALSE + return "Smoker" in preferences.all_quirks + +/datum/preference/choiced/smoker/apply_to_human(mob/living/carbon/human/target, value) + return + +/datum/preference/choiced/alcoholic + category = PREFERENCE_CATEGORY_MANUALLY_RENDERED + savefile_key = "alcoholic" + savefile_identifier = PREFERENCE_CHARACTER + +/datum/preference/choiced/alcoholic/init_possible_values() + return list("Random") + assoc_to_keys(GLOB.possible_alcoholic_addictions) + +/datum/preference/choiced/alcoholic/create_default_value() + return "Random" + +/datum/preference/choiced/alcoholic/is_accessible(datum/preferences/preferences) + if (!..()) + return FALSE + return "Alcoholic" in preferences.all_quirks + +/datum/preference/choiced/alcoholic/apply_to_human(mob/living/carbon/human/target, value) + return diff --git a/code/modules/client/preferences/prosthetic.dm b/code/modules/client/preferences/prosthetic_limb.dm similarity index 100% rename from code/modules/client/preferences/prosthetic.dm rename to code/modules/client/preferences/prosthetic_limb.dm diff --git a/code/modules/client/preferences/prosthetic_organ.dm b/code/modules/client/preferences/prosthetic_organ.dm new file mode 100644 index 00000000000..35d3b818355 --- /dev/null +++ b/code/modules/client/preferences/prosthetic_organ.dm @@ -0,0 +1,17 @@ +/datum/preference/choiced/prosthetic_organ + category = PREFERENCE_CATEGORY_MANUALLY_RENDERED + savefile_key = "prosthetic_organ" + savefile_identifier = PREFERENCE_CHARACTER + +/datum/preference/choiced/prosthetic_organ/init_possible_values() + return list("Random") + GLOB.organ_choice + +/datum/preference/choiced/prosthetic_organ/is_accessible(datum/preferences/preferences) + . = ..() + if (!.) + return FALSE + + return "Prosthetic Organ" in preferences.all_quirks + +/datum/preference/choiced/prosthetic_organ/apply_to_human(mob/living/carbon/human/target, value) + return diff --git a/code/modules/clothing/head/hat.dm b/code/modules/clothing/head/hat.dm index 33e110efba8..c91fdbaf923 100644 --- a/code/modules/clothing/head/hat.dm +++ b/code/modules/clothing/head/hat.dm @@ -192,9 +192,15 @@ /obj/item/clothing/head/costume/jester name = "jester hat" desc = "A hat with bells, to add some merriness to the suit." - icon_state = "jester_hat" + icon_state = "jester_map" + greyscale_colors = "#00ff00#ff0000" + greyscale_config = /datum/greyscale_config/jester_hat + greyscale_config_worn = /datum/greyscale_config/jester_hat/worn + flags_1 = IS_PLAYER_COLORABLE_1 -/obj/item/clothing/head/costume/jester/alt +/obj/item/clothing/head/costume/jesteralt + name = "jester hat" + desc = "A hat with bells, to add some merriness to the suit." icon_state = "jester2" /obj/item/clothing/head/costume/rice_hat diff --git a/code/modules/clothing/shoes/costume.dm b/code/modules/clothing/shoes/costume.dm index 1e15f25e1f6..bf8000d9a08 100644 --- a/code/modules/clothing/shoes/costume.dm +++ b/code/modules/clothing/shoes/costume.dm @@ -105,8 +105,12 @@ /obj/item/clothing/shoes/jester_shoes name = "jester shoes" desc = "Shoes that jingle with every step!!" - icon_state = "green_jester_shoes" + icon_state = "jester_map" inhand_icon_state = null + greyscale_colors = "#00ff00#ff0000" + greyscale_config = /datum/greyscale_config/jester_shoes + greyscale_config_worn = /datum/greyscale_config/jester_shoes/worn + flags_1 = IS_PLAYER_COLORABLE_1 /obj/item/clothing/shoes/jester_shoes/Initialize(mapload) . = ..() diff --git a/code/modules/clothing/suits/shirt.dm b/code/modules/clothing/suits/shirt.dm index 9f5853dfcd1..9b8ce90693b 100644 --- a/code/modules/clothing/suits/shirt.dm +++ b/code/modules/clothing/suits/shirt.dm @@ -21,6 +21,19 @@ washer.visible_message("[src] implodes due to repeated washing.") qdel(src) +/obj/item/clothing/suit/costume/wellworn_shirt/skub + name = "pro-skub shirt" + desc = "A worn out, curiously comfortable t-shirt proclaiming your pro-skub stance. Fuck those anti-skubbies." + icon_state = "wellworn_shirt_pro_skub" + greyscale_colors = "#FFFF4D" + greyscale_config = /datum/greyscale_config/wellworn_shirt_skub + greyscale_config_worn = /datum/greyscale_config/wellworn_shirt_skub/worn + +/obj/item/clothing/suit/costume/wellworn_shirt/skub/anti + name = "anti-skub shirt" + desc = "A worn out, curiously comfortable t-shirt proclaiming your anti-skub stance. Fuck those pro-skubbies." + icon_state = "wellworn_shirt_anti_skub" + /obj/item/clothing/suit/costume/wellworn_shirt/graphic name = "well-worn graphic shirt" desc = "A worn out, curiously comfortable t-shirt with a character from Phanic the Weasel on the front. It adds some charm points to itself and the wearer, and reminds you of when the series was still good; way back in 2500." diff --git a/code/modules/clothing/under/jobs/civilian/clown_mime.dm b/code/modules/clothing/under/jobs/civilian/clown_mime.dm index e726ba54689..f3abc8a2a47 100644 --- a/code/modules/clothing/under/jobs/civilian/clown_mime.dm +++ b/code/modules/clothing/under/jobs/civilian/clown_mime.dm @@ -80,9 +80,15 @@ /obj/item/clothing/under/rank/civilian/clown/jester name = "jester suit" desc = "A jolly dress, well suited to entertain your master, nuncle." - icon_state = "jester" + icon_state = "jester_map" + greyscale_colors = "#00ff00#ff0000" + greyscale_config = /datum/greyscale_config/jester_suit + greyscale_config_worn = /datum/greyscale_config/jester_suit/worn + flags_1 = IS_PLAYER_COLORABLE_1 -/obj/item/clothing/under/rank/civilian/clown/jester/alt +/obj/item/clothing/under/rank/civilian/clown/jesteralt + name = "jester suit" + desc = "A jolly dress, well suited to entertain your master, nuncle." icon_state = "jester2" /obj/item/clothing/under/rank/civilian/clown/sexy diff --git a/code/modules/deathmatch/deathmatch_modifier.dm b/code/modules/deathmatch/deathmatch_modifier.dm index 7dcb5fe37da..5037b3c3ae3 100644 --- a/code/modules/deathmatch/deathmatch_modifier.dm +++ b/code/modules/deathmatch/deathmatch_modifier.dm @@ -363,6 +363,8 @@ /datum/deathmatch_modifier/drop_pod/proc/populate_contents() contents = typesof(/mob/living/basic/trooper/syndicate) + for(var/typepath in contents) //Make sure to set even weights for the keys or `pick_weight` won't work. + contents[typepath] = 1 /datum/deathmatch_modifier/drop_pod/monsters name = "Drop Pod: Monsters" diff --git a/code/modules/events/camerafailure.dm b/code/modules/events/camerafailure.dm index 453b919c5b8..d2fcdda8314 100644 --- a/code/modules/events/camerafailure.dm +++ b/code/modules/events/camerafailure.dm @@ -17,8 +17,8 @@ var/obj/machinery/camera/C = pick_n_take(cameras) if (!C) break - if (!("ss13" in C.network)) + if (!(CAMERANET_NETWORK_SS13 in C.network)) continue - if(C.status) + if(C.camera_enabled) C.toggle_cam(null, 0) iterations *= 2.5 diff --git a/code/modules/experisci/experiment/types/scanning.dm b/code/modules/experisci/experiment/types/scanning.dm index 197158c56f3..08ddf066f9b 100644 --- a/code/modules/experisci/experiment/types/scanning.dm +++ b/code/modules/experisci/experiment/types/scanning.dm @@ -106,17 +106,20 @@ * * target - The atom to attempt to scan */ /datum/experiment/scanning/proc/experiment_requirements(datum/component/experiment_handler/experiment_handler, atom/target) + var/destructive = (traits & EXPERIMENT_TRAIT_DESTRUCTIVE) for (var/req_atom in required_atoms) - if (istype(target, req_atom)) - // Try to select a required atom that this scanned atom would contribute towards - var/destructive = traits & EXPERIMENT_TRAIT_DESTRUCTIVE - var/list/seen = scanned[req_atom] - var/selected = destructive && (req_atom in scanned) && seen < required_atoms[req_atom] - if (!selected) - selected = !destructive && seen.len < required_atoms[req_atom] && !(WEAKREF(target) in seen) - // Run any additonal checks if necessary - if (selected && final_contributing_index_checks(experiment_handler, target, selected)) - return req_atom + if (!istype(target, req_atom)) + continue + // Try to select a required atom that this scanned atom would contribute towards + var/selected + var/list/seen = scanned[req_atom] + if (destructive && (req_atom in scanned) && scanned[req_atom] < required_atoms[req_atom]) + selected = req_atom + else if (!destructive && seen.len < required_atoms[req_atom] && !(WEAKREF(target) in seen)) + selected = req_atom + // Run any additonal checks if necessary + if (selected && final_contributing_index_checks(experiment_handler, target, selected)) + return selected /** * Performs any additional checks against the atom being considered for selection as a contributing index diff --git a/code/modules/food_and_drinks/machinery/processor.dm b/code/modules/food_and_drinks/machinery/processor.dm index 1e75d02ba28..10f80d2d301 100644 --- a/code/modules/food_and_drinks/machinery/processor.dm +++ b/code/modules/food_and_drinks/machinery/processor.dm @@ -209,8 +209,8 @@ /obj/machinery/processor/slime/process() if(processing) return - var/mob/living/simple_animal/slime/picked_slime - for(var/mob/living/simple_animal/slime/slime in range(1,src)) + var/mob/living/basic/slime/picked_slime + for(var/mob/living/basic/slime/slime in range(1,src)) if(!CanReach(slime)) //don't take slimes behind glass panes or somesuch; also makes it ignore slimes inside the processor continue if(slime.stat) @@ -227,7 +227,7 @@ picked_slime.forceMove(src) /obj/machinery/processor/slime/process_food(datum/food_processor_process/recipe, atom/movable/what) - var/mob/living/simple_animal/slime/processed_slime = what + var/mob/living/basic/slime/processed_slime = what if (!istype(processed_slime)) return diff --git a/code/modules/food_and_drinks/recipes/processor_recipes.dm b/code/modules/food_and_drinks/recipes/processor_recipes.dm index e2f433323d9..3ff29e194c7 100644 --- a/code/modules/food_and_drinks/recipes/processor_recipes.dm +++ b/code/modules/food_and_drinks/recipes/processor_recipes.dm @@ -130,7 +130,7 @@ output = /obj/item/food/roastparsnip /datum/food_processor_process/mob/slime - input = /mob/living/simple_animal/slime + input = /mob/living/basic/slime output = null required_machine = /obj/machinery/processor/slime diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index c0fdbcd4607..abc2c5b3bf8 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -104,7 +104,7 @@ return new trash_type(location || drop_location()) -/obj/item/food/grown/grind_requirements() +/obj/item/food/grown/blend_requirements() if(dry_grind && !HAS_TRAIT(src, TRAIT_DRIED)) to_chat(usr, span_warning("[src] needs to be dry before it can be ground up!")) return diff --git a/code/modules/jobs/access.dm b/code/modules/jobs/access.dm index 859f83bf35a..2055080710e 100644 --- a/code/modules/jobs/access.dm +++ b/code/modules/jobs/access.dm @@ -32,7 +32,7 @@ else if(SEND_SIGNAL(accessor, COMSIG_MOB_TRIED_ACCESS, src) & ACCESS_ALLOWED) return TRUE //If the mob is holding a valid ID, we let them in. get_active_held_item() is on the mob level, so no need to copypasta everywhere. - else if(check_access(accessor.get_active_held_item())) + else if(check_access(accessor.get_active_held_item()) || check_access(accessor.get_inactive_held_item())) return TRUE else if(ishuman(accessor)) var/mob/living/carbon/human/human_accessor = accessor diff --git a/code/modules/jobs/job_types/prisoner.dm b/code/modules/jobs/job_types/prisoner.dm index 4e49507864a..5f5f01ea33f 100644 --- a/code/modules/jobs/job_types/prisoner.dm +++ b/code/modules/jobs/job_types/prisoner.dm @@ -27,23 +27,25 @@ /datum/job/prisoner/New() . = ..() - RegisterSignal(SSdcs, COMSIG_GLOB_CREWMEMBER_JOINED, PROC_REF(add_pref_crime)) + RegisterSignal(SSdcs, COMSIG_GLOB_CREWMEMBER_JOINED, PROC_REF(handle_prisoner_joining)) -/datum/job/prisoner/proc/add_pref_crime(datum/source, mob/living/crewmember, rank) +/datum/job/prisoner/proc/handle_prisoner_joining(datum/source, mob/living/crewmember, rank) SIGNAL_HANDLER if(rank != title) return //not a prisoner var/crime_name = crewmember.client?.prefs?.read_preference(/datum/preference/choiced/prisoner_crime) if(!crime_name) - return - if(crime_name == "Random") + stack_trace("[crewmember] joined as a Prisoner without having a prisoner crime set.") + crime_name = pick(assoc_to_keys(GLOB.prisoner_crimes)) + else if(crime_name == "Random") crime_name = pick(assoc_to_keys(GLOB.prisoner_crimes)) var/datum/prisoner_crime/crime = GLOB.prisoner_crimes[crime_name] - var/datum/record/crew/target_record = find_record(crewmember.real_name) var/datum/crime/past_crime = new(crime.name, crime.desc, "Central Command", "Indefinite.") + var/datum/record/crew/target_record = find_record(crewmember.real_name) target_record.crimes += past_crime + target_record.recreate_manifest_photos(add_height_chart = TRUE) to_chat(crewmember, span_warning("You are imprisoned for \"[crime_name]\".")) crewmember.add_mob_memory(/datum/memory/key/permabrig_crimes, crimes = crime_name) diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index be669aedb2a..f06c16e11de 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -1,4 +1,4 @@ -//These procs handle putting s tuff in your hands +//These procs handle putting stuff in your hands //as they handle all relevant stuff like adding it to the player's screen and updating their overlays. ///Returns the thing we're currently holding diff --git a/code/modules/mob/living/basic/alien/_alien.dm b/code/modules/mob/living/basic/alien/_alien.dm index d809e7c292f..823ab896c0a 100644 --- a/code/modules/mob/living/basic/alien/_alien.dm +++ b/code/modules/mob/living/basic/alien/_alien.dm @@ -41,7 +41,7 @@ death_sound = 'sound/voice/hiss6.ogg' death_message = "lets out a waning guttural screech, green blood bubbling from its maw..." - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + habitable_atmos = null unsuitable_atmos_damage = FALSE unsuitable_heat_damage = 20 diff --git a/code/modules/mob/living/basic/basic.dm b/code/modules/mob/living/basic/basic.dm index d69665d6bcd..3e262468298 100644 --- a/code/modules/mob/living/basic/basic.dm +++ b/code/modules/mob/living/basic/basic.dm @@ -93,9 +93,9 @@ var/minimum_survivable_temperature = NPC_DEFAULT_MIN_TEMP ///Maximal body temperature without receiving damage var/maximum_survivable_temperature = NPC_DEFAULT_MAX_TEMP - ///This damage is taken when the body temp is too cold. Set both this and unsuitable_heat_damage to 0 to avoid adding the basic_body_temp_sensitive element. + ///This damage is taken when the body temp is too cold. Set both this and unsuitable_heat_damage to 0 to avoid adding the body_temp_sensitive element. var/unsuitable_cold_damage = 1 - ///This damage is taken when the body temp is too hot. Set both this and unsuitable_cold_damage to 0 to avoid adding the basic_body_temp_sensitive element. + ///This damage is taken when the body temp is too hot. Set both this and unsuitable_cold_damage to 0 to avoid adding the body_temp_sensitive element. var/unsuitable_heat_damage = 1 /mob/living/basic/Initialize(mapload) @@ -115,23 +115,32 @@ if(speak_emote) speak_emote = string_list(speak_emote) - apply_atmos_requirements() - apply_temperature_requirements() + ///We need to wait for SSair to be initialized before we can check atmos/temp requirements. + if(PERFORM_ALL_TESTS(focus_only/atmos_and_temp_requirements) && mapload && !SSair.initialized) + RegisterSignal(SSair, COMSIG_SUBSYSTEM_POST_INITIALIZE, PROC_REF(on_ssair_init)) + return + apply_atmos_requirements(mapload) + apply_temperature_requirements(mapload) + +/mob/living/basic/proc/on_ssair_init(datum/source) + SIGNAL_HANDLER + UnregisterSignal(SSair, COMSIG_SUBSYSTEM_POST_INITIALIZE) + apply_atmos_requirements(TRUE) + apply_temperature_requirements(TRUE) /// Ensures this mob can take atmospheric damage if it's supposed to -/mob/living/basic/proc/apply_atmos_requirements() - if(unsuitable_atmos_damage == 0) +/mob/living/basic/proc/apply_atmos_requirements(mapload) + if(unsuitable_atmos_damage == 0 || isnull(habitable_atmos)) return //String assoc list returns a cached list, so this is like a static list to pass into the element below. habitable_atmos = string_assoc_list(habitable_atmos) - AddElement(/datum/element/atmos_requirements, habitable_atmos, unsuitable_atmos_damage) + AddElement(/datum/element/atmos_requirements, habitable_atmos, unsuitable_atmos_damage, mapload) /// Ensures this mob can take temperature damage if it's supposed to -/mob/living/basic/proc/apply_temperature_requirements() - if(unsuitable_cold_damage == 0 && unsuitable_heat_damage == 0) +/mob/living/basic/proc/apply_temperature_requirements(mapload) + if((unsuitable_cold_damage == 0 && unsuitable_heat_damage == 0) || (minimum_survivable_temperature <= 0 && maximum_survivable_temperature >= INFINITY)) return - AddElement(/datum/element/basic_body_temp_sensitive, minimum_survivable_temperature, maximum_survivable_temperature, unsuitable_cold_damage, unsuitable_heat_damage) - + AddElement(/datum/element/body_temp_sensitive, minimum_survivable_temperature, maximum_survivable_temperature, unsuitable_cold_damage, unsuitable_heat_damage, mapload) /mob/living/basic/Life(seconds_per_tick = SSMOBS_DT, times_fired) . = ..() @@ -219,7 +228,7 @@ RemoveElement(/datum/element/atmos_requirements, habitable_atmos, unsuitable_atmos_damage) . = TRUE if(NAMEOF(src, minimum_survivable_temperature), NAMEOF(src, maximum_survivable_temperature), NAMEOF(src, unsuitable_cold_damage), NAMEOF(src, unsuitable_heat_damage)) - RemoveElement(/datum/element/basic_body_temp_sensitive, minimum_survivable_temperature, maximum_survivable_temperature, unsuitable_cold_damage, unsuitable_heat_damage) + RemoveElement(/datum/element/body_temp_sensitive, minimum_survivable_temperature, maximum_survivable_temperature, unsuitable_cold_damage, unsuitable_heat_damage) . = TRUE . = ..() diff --git a/code/modules/mob/living/basic/blob_minions/blob_mob.dm b/code/modules/mob/living/basic/blob_minions/blob_mob.dm index 776a977d2df..6c30bdfe16d 100644 --- a/code/modules/mob/living/basic/blob_minions/blob_mob.dm +++ b/code/modules/mob/living/basic/blob_minions/blob_mob.dm @@ -10,7 +10,7 @@ combat_mode = TRUE bubble_icon = "blob" speak_emote = null - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + habitable_atmos = null minimum_survivable_temperature = 0 maximum_survivable_temperature = INFINITY lighting_cutoff_red = 20 diff --git a/code/modules/mob/living/basic/bots/_bots.dm b/code/modules/mob/living/basic/bots/_bots.dm index 5aae11b5856..206ba88b317 100644 --- a/code/modules/mob/living/basic/bots/_bots.dm +++ b/code/modules/mob/living/basic/bots/_bots.dm @@ -16,7 +16,7 @@ GLOBAL_LIST_INIT(command_strings, list( icon_state = "medibot0" base_icon_state = "medibot" damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, STAMINA = 0, OXY = 0) - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + habitable_atmos = null hud_possible = list(DIAG_STAT_HUD, DIAG_BOT_HUD, DIAG_HUD, DIAG_BATT_HUD, DIAG_PATH_HUD = HUD_LIST_LIST) maximum_survivable_temperature = INFINITY minimum_survivable_temperature = 0 diff --git a/code/modules/mob/living/basic/farm_animals/bee/_bee.dm b/code/modules/mob/living/basic/farm_animals/bee/_bee.dm index 89eedd7cb55..3c2aae36bc1 100644 --- a/code/modules/mob/living/basic/farm_animals/bee/_bee.dm +++ b/code/modules/mob/living/basic/farm_animals/bee/_bee.dm @@ -39,7 +39,7 @@ can_be_held = TRUE held_w_class = WEIGHT_CLASS_TINY environment_smash = ENVIRONMENT_SMASH_NONE - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + habitable_atmos = null basic_mob_flags = DEL_ON_DEATH ai_controller = /datum/ai_controller/basic_controller/bee ///the reagent the bee has diff --git a/code/modules/mob/living/basic/farm_animals/deer.dm b/code/modules/mob/living/basic/farm_animals/deer.dm index 5b88593f0c6..c51be81b77d 100644 --- a/code/modules/mob/living/basic/farm_animals/deer.dm +++ b/code/modules/mob/living/basic/farm_animals/deer.dm @@ -49,5 +49,5 @@ /// Cold resistent and doesn't need to breathe /mob/living/basic/deer/ice - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + habitable_atmos = null minimum_survivable_temperature = 0 diff --git a/code/modules/mob/living/basic/farm_animals/pony.dm b/code/modules/mob/living/basic/farm_animals/pony.dm index 4c2c76e84c2..9f008d85fcc 100644 --- a/code/modules/mob/living/basic/farm_animals/pony.dm +++ b/code/modules/mob/living/basic/farm_animals/pony.dm @@ -129,7 +129,7 @@ faction = list(ROLE_SYNDICATE) ponycolors = list("#5d566f", COLOR_RED) pressure_resistance = 200 - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + habitable_atmos = null minimum_survivable_temperature = 0 maximum_survivable_temperature = 1500 unique_tamer = TRUE diff --git a/code/modules/mob/living/basic/heretic/_heretic_summon.dm b/code/modules/mob/living/basic/heretic/_heretic_summon.dm index bdde67179fe..b6336182a22 100644 --- a/code/modules/mob/living/basic/heretic/_heretic_summon.dm +++ b/code/modules/mob/living/basic/heretic/_heretic_summon.dm @@ -8,7 +8,7 @@ gender = NEUTER mob_biotypes = NONE - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + habitable_atmos = null damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, STAMINA = 0, OXY = 0) speed = 0 melee_attack_cooldown = CLICK_CD_MELEE diff --git a/code/modules/mob/living/basic/jungle/mega_arachnid/mega_arachnid.dm b/code/modules/mob/living/basic/jungle/mega_arachnid/mega_arachnid.dm index 3a6ed50db10..62b36a1bbaf 100644 --- a/code/modules/mob/living/basic/jungle/mega_arachnid/mega_arachnid.dm +++ b/code/modules/mob/living/basic/jungle/mega_arachnid/mega_arachnid.dm @@ -16,7 +16,7 @@ pixel_x = -16 base_pixel_x = -16 - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + habitable_atmos = null faction = list(FACTION_JUNGLE) obj_damage = 30 environment_smash = ENVIRONMENT_SMASH_WALLS diff --git a/code/modules/mob/living/basic/jungle/venus_human_trap.dm b/code/modules/mob/living/basic/jungle/venus_human_trap.dm index ab77e044300..6c0a6e2f9db 100644 --- a/code/modules/mob/living/basic/jungle/venus_human_trap.dm +++ b/code/modules/mob/living/basic/jungle/venus_human_trap.dm @@ -148,7 +148,7 @@ attack_sound = 'sound/creatures/venus_trap_hit.ogg' unsuitable_heat_damage = 5 // heat damage is different from cold damage since coldmos is significantly more common than plasmafires unsuitable_cold_damage = 2 // they now do take cold damage, but this should be sufficiently small that it does not cause major issues - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + habitable_atmos = null unsuitable_atmos_damage = 0 /// copied over from the code from eyeballs (the mob) to make it easier for venus human traps to see in kudzu that doesn't have the transparency mutation sight = SEE_SELF|SEE_MOBS|SEE_OBJS|SEE_TURFS diff --git a/code/modules/mob/living/basic/minebots/minebot.dm b/code/modules/mob/living/basic/minebots/minebot.dm index d57097adcf4..26e549cbcf9 100644 --- a/code/modules/mob/living/basic/minebots/minebot.dm +++ b/code/modules/mob/living/basic/minebots/minebot.dm @@ -9,7 +9,7 @@ status_flags = CANSTUN|CANKNOCKDOWN|CANPUSH mouse_opacity = MOUSE_OPACITY_ICON combat_mode = TRUE - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + habitable_atmos = null minimum_survivable_temperature = 0 health = 125 maxHealth = 125 diff --git a/code/modules/mob/living/basic/pets/dog/dog_subtypes.dm b/code/modules/mob/living/basic/pets/dog/dog_subtypes.dm index 0d52075a9a3..d05622c35dc 100644 --- a/code/modules/mob/living/basic/pets/dog/dog_subtypes.dm +++ b/code/modules/mob/living/basic/pets/dog/dog_subtypes.dm @@ -38,6 +38,13 @@ collar_icon_state = "bullterrier" held_state = "bullterrier" +/mob/living/basic/pet/dog/bullterrier/lavaland_party + name = "Saint Nick's Helpful Associate" + desc = "Undergraduate in 'Being a Good Boy'." + habitable_atmos = null + gold_core_spawnable = NO_SPAWN + unique_pet = TRUE + /mob/living/basic/pet/dog/breaddog //Most of the code originates from Cak name = "Kobun" real_name = "Kobun" diff --git a/code/modules/mob/living/basic/pets/fox.dm b/code/modules/mob/living/basic/pets/fox.dm index 7d74a6a36e4..03ac2be54be 100644 --- a/code/modules/mob/living/basic/pets/fox.dm +++ b/code/modules/mob/living/basic/pets/fox.dm @@ -72,3 +72,10 @@ // A more docile subtype that won't attack other animals. /mob/living/basic/pet/fox/docile ai_controller = /datum/ai_controller/basic_controller/fox/docile + +/mob/living/basic/pet/fox/icemoon + name = "icemoon fox" + desc = "A fox, scraping by the icemoon hostile atmosphere." + gold_core_spawnable = NO_SPAWN + habitable_atmos = null + minimum_survivable_temperature = ICEBOX_MIN_TEMPERATURE diff --git a/code/modules/mob/living/basic/pets/orbie/orbie.dm b/code/modules/mob/living/basic/pets/orbie/orbie.dm index 2c9fb3d815c..735f63977d3 100644 --- a/code/modules/mob/living/basic/pets/orbie/orbie.dm +++ b/code/modules/mob/living/basic/pets/orbie/orbie.dm @@ -13,7 +13,7 @@ light_range = 6 light_color = "#64bee1" health = 100 - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + habitable_atmos = null unsuitable_atmos_damage = 0 can_buckle_to = FALSE density = FALSE diff --git a/code/modules/mob/living/basic/pets/penguin.dm b/code/modules/mob/living/basic/pets/penguin.dm index e8e2a038c0e..1bf3adec557 100644 --- a/code/modules/mob/living/basic/pets/penguin.dm +++ b/code/modules/mob/living/basic/pets/penguin.dm @@ -196,4 +196,10 @@ /mob/living/basic/pet/penguin/baby/permanent can_grow_up = FALSE +/mob/living/basic/pet/penguin/emperor/snowdin + minimum_survivable_temperature = ICEBOX_MIN_TEMPERATURE + gold_core_spawnable = NO_SPAWN +/mob/living/basic/pet/penguin/baby/permanent/snowdin + minimum_survivable_temperature = ICEBOX_MIN_TEMPERATURE + gold_core_spawnable = NO_SPAWN diff --git a/code/modules/mob/living/basic/slime/actions.dm b/code/modules/mob/living/basic/slime/actions.dm new file mode 100644 index 00000000000..c297f48d14e --- /dev/null +++ b/code/modules/mob/living/basic/slime/actions.dm @@ -0,0 +1,142 @@ +/datum/action/innate/slime + check_flags = AB_CHECK_CONSCIOUS + button_icon = 'icons/mob/actions/actions_slime.dmi' + background_icon_state = "bg_alien" + overlay_icon_state = "bg_alien_border" + ///Does the ability require a specific slime lifestage? + var/life_stage_required + ///Does the ability requires the slime to hit max growth? + var/needs_growth = FALSE + ///Does the ability cost nutrition? + var/nutrition_cost = 0 + +/datum/action/innate/slime/IsAvailable(feedback = FALSE) + . = ..() + if(!.) + return FALSE + + var/mob/living/basic/slime/slime_owner = owner + + if(!isnull(life_stage_required) && slime_owner.life_stage != life_stage_required) + return FALSE + + if(slime_owner.nutrition < nutrition_cost) + return FALSE + + if(needs_growth && slime_owner.amount_grown < SLIME_EVOLUTION_THRESHOLD) + return FALSE + return TRUE + +//Evolving + +/datum/action/innate/slime/evolve + name = "Evolve" + button_icon_state = "slimegrow" + desc = "This will let you evolve from baby to adult slime." + life_stage_required = SLIME_LIFE_STAGE_BABY + needs_growth = TRUE + nutrition_cost = SLIME_EVOLUTION_COST + +///Turns a baby slime into an adult slime +/datum/action/innate/slime/evolve/Activate() + var/mob/living/basic/slime/slime_owner = owner + + if(slime_owner.stat) + slime_owner.balloon_alert(slime_owner, "unconscious!") + return + if(slime_owner.life_stage == SLIME_LIFE_STAGE_ADULT) + slime_owner.balloon_alert(slime_owner, "already adult!") + return + if(slime_owner.amount_grown < SLIME_EVOLUTION_THRESHOLD) + slime_owner.balloon_alert(slime_owner, "need to grow!") + return + if(slime_owner.nutrition < nutrition_cost) + slime_owner.balloon_alert(slime_owner, "need food!") + return + + slime_owner.adjust_nutrition(-nutrition_cost) + + slime_owner.set_life_stage(SLIME_LIFE_STAGE_ADULT) + slime_owner.update_name() + slime_owner.regenerate_icons() + + slime_owner.amount_grown = 0 + +//Reproduction + +/datum/action/innate/slime/reproduce + name = "Reproduce" + button_icon_state = "slimesplit" + desc = "This will make you split into four slimes." + life_stage_required = SLIME_LIFE_STAGE_ADULT + needs_growth = TRUE + +/datum/action/innate/slime/reproduce/Activate() + var/mob/living/basic/slime/slime_owner = owner + slime_owner.reproduce() + +///Splits the slime into multiple children if possible +/mob/living/basic/slime/proc/reproduce() + if(stat != CONSCIOUS) + balloon_alert(src, "not conscious!") + return + + if(!isopenturf(loc)) + balloon_alert(src, "not here!") + + if(life_stage != SLIME_LIFE_STAGE_ADULT) + balloon_alert(src, "not adult!") + return + + if(amount_grown < SLIME_EVOLUTION_THRESHOLD) + balloon_alert(src, "need growth!") + return + + var/list/babies = list() + var/new_nutrition = round(nutrition * 0.9) + var/new_powerlevel = round(powerlevel / 4) + var/turf/drop_loc = drop_location() + + var/list/slime_friends = list() + for(var/faction_member in faction) + var/mob/living/possible_friend = locate(faction_member) in GLOB.mob_living_list + if(QDELETED(possible_friend)) + continue + slime_friends += possible_friend + + for(var/i in 1 to 4) + var/child_colour + + if(mutation_chance >= 100) + child_colour = /datum/slime_type/rainbow + else if(prob(mutation_chance)) + child_colour = pick_weight(slime_type.mutations) + else + child_colour = slime_type.type + + var/mob/living/basic/slime/baby + baby = new(drop_loc, child_colour) + + if(ckey) + baby.set_nutrition(new_nutrition) //Player slimes are more robust at spliting. Once an oversight of poor copypasta, now a feature! + + baby.powerlevel = new_powerlevel + if(i != 1) + step_away(baby, src) + + for(var/slime_friend in slime_friends) + baby.befriend(slime_friend) + + babies += baby + baby.mutation_chance = clamp(mutation_chance+(rand(5,-5)),0,100) + SSblackbox.record_feedback("tally", "slime_babies_born", 1, baby.slime_type.colour) + + var/mob/living/basic/slime/new_slime = pick(babies) // slime that the OG slime will move into. + new_slime.set_combat_mode(TRUE) + + if(isnull(mind)) + new_slime.key = key + else + mind.transfer_to(new_slime) + + qdel(src) diff --git a/code/modules/mob/living/basic/slime/ai/behaviours.dm b/code/modules/mob/living/basic/slime/ai/behaviours.dm new file mode 100644 index 00000000000..0db592099bb --- /dev/null +++ b/code/modules/mob/living/basic/slime/ai/behaviours.dm @@ -0,0 +1,71 @@ +/datum/ai_behavior/perform_change_slime_face + +/datum/ai_behavior/perform_change_slime_face/perform(seconds_per_tick, datum/ai_controller/controller) + . = ..() + var/mob/living/basic/slime/slime_pawn = controller.pawn + if(!istype(slime_pawn)) + return + + var/current_mood = slime_pawn.current_mood + + var/new_mood = SLIME_MOOD_NONE + + if (controller.blackboard[BB_SLIME_RABID] || LAZYLEN(controller.blackboard[BB_BASIC_MOB_RETALIATE_LIST]) > 0) + new_mood = SLIME_MOOD_ANGRY + else if (controller.blackboard[BB_SLIME_HUNGER_DISABLED]) + new_mood = SLIME_MOOD_SMILE + else if (controller.blackboard[BB_CURRENT_HUNTING_TARGET]) + new_mood = SLIME_MOOD_MISCHIEVOUS + else + new_mood = pick(SLIME_MOOD_SAD, SLIME_MOOD_SMILE, SLIME_MOOD_POUT) + + if(current_mood != new_mood) + slime_pawn.current_mood = new_mood + slime_pawn.regenerate_icons() + + finish_action(controller, TRUE) + +/datum/ai_behavior/find_hunt_target/find_slime_food + +// Check if the slime can drain the target +/datum/ai_behavior/find_hunt_target/find_slime_food/valid_dinner(mob/living/basic/slime/hunter, mob/living/dinner, radius, datum/ai_controller/controller, seconds_per_tick) + + if(REF(dinner) in hunter.faction) //Don't eat our friends... + return + + if(!hunter.can_feed_on(dinner, check_adjacent = FALSE)) //Are they tasty to slimes? + return + + //If we are retaliating on someone edible, lets eat them instead + if(dinner == controller.blackboard[BB_BASIC_MOB_CURRENT_TARGET]) + return can_see(hunter, dinner, radius) + + //We are so hungry, lets eat them + if(controller.blackboard[BB_SLIME_HUNGER_LEVEL] == SLIME_HUNGER_STARVING && controller.blackboard[BB_SLIME_RABID]) + return can_see(hunter, dinner, radius) + + //A bit pickier + if((islarva(dinner) || ismonkey(dinner)) || (ishuman(dinner) || isalienadult(dinner) && SPT_PROB(2.5, seconds_per_tick))) + return can_see(hunter, dinner, radius) + + //We are not THAT hungry + return FALSE + +/datum/ai_behavior/hunt_target/unarmed_attack_target/slime + +/datum/ai_behavior/hunt_target/unarmed_attack_target/slime/target_caught(mob/living/basic/slime/hunter, mob/living/hunted) + if((hunted.body_position != STANDING_UP) || prob(20)) //Not standing, or we rolled well? Feed. + hunter.start_feeding(hunted) + return + + if(hunted.client && hunted.health >= 20) //If target has a client and is healthy, punch them a bit before feasting + hunter.UnarmedAttack(hunted, TRUE) + return + + hunter.start_feeding(hunted) + +/datum/ai_behavior/hunt_target/unarmed_attack_target/slime/finish_action(datum/ai_controller/controller, succeeded, hunting_target_key, hunting_cooldown_key) + . = ..() + var/mob/living/living_pawn = controller.pawn + if(living_pawn.buckled) + controller.clear_blackboard_key(hunting_target_key) diff --git a/code/modules/mob/living/basic/slime/ai/controller.dm b/code/modules/mob/living/basic/slime/ai/controller.dm new file mode 100644 index 00000000000..9ecf66ad744 --- /dev/null +++ b/code/modules/mob/living/basic/slime/ai/controller.dm @@ -0,0 +1,29 @@ +/datum/ai_controller/basic_controller/slime + blackboard = list( + BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends, + BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends, + BB_SLIME_RABID = FALSE, + BB_SLIME_HUNGER_DISABLED = FALSE, + BB_CURRENT_HUNTING_TARGET = null, // people whose energy we want to drain + ) + + ai_movement = /datum/ai_movement/basic_avoidance + idle_behavior = /datum/idle_behavior/idle_random_walk + planning_subtrees = list( + /datum/ai_planning_subtree/change_slime_face, + /datum/ai_planning_subtree/use_mob_ability/evolve, + /datum/ai_planning_subtree/use_mob_ability/reproduce, + /datum/ai_planning_subtree/target_retaliate, + /datum/ai_planning_subtree/pet_planning, + /datum/ai_planning_subtree/find_and_hunt_target/find_slime_food, + /datum/ai_planning_subtree/basic_melee_attack_subtree/slime, + /datum/ai_planning_subtree/random_speech/slime, + ) + +/datum/ai_controller/basic_controller/slime/CancelActions() + ..() + if(QDELETED(pawn)) + return + + var/mob/living/basic/slime/slime_pawn = pawn + slime_pawn.stop_feeding() diff --git a/code/modules/mob/living/basic/slime/ai/pet_command.dm b/code/modules/mob/living/basic/slime/ai/pet_command.dm new file mode 100644 index 00000000000..42d6b289937 --- /dev/null +++ b/code/modules/mob/living/basic/slime/ai/pet_command.dm @@ -0,0 +1,16 @@ +/datum/pet_command/point_targeting/attack/slime + speech_commands = list("attack", "sic", "kill", "eat", "feed") + command_feedback = "blorbles" + pointed_reaction = "and blorbles" + refuse_reaction = "jiggles sadly" + + var/hunting_behavior = /datum/ai_behavior/hunt_target/unarmed_attack_target/slime + +/datum/pet_command/point_targeting/attack/slime/execute_action(datum/ai_controller/controller) + + var/mob/living/basic/slime/slime_pawn = controller.pawn + if(isslime(slime_pawn) && slime_pawn.can_feed_on(controller.blackboard[BB_CURRENT_PET_TARGET], check_friendship = TRUE)) + controller.queue_behavior(hunting_behavior, BB_CURRENT_PET_TARGET, BB_HUNTING_COOLDOWN) + return SUBTREE_RETURN_FINISH_PLANNING + + return ..() diff --git a/code/modules/mob/living/basic/slime/ai/subtrees.dm b/code/modules/mob/living/basic/slime/ai/subtrees.dm new file mode 100644 index 00000000000..66c01e6f6c3 --- /dev/null +++ b/code/modules/mob/living/basic/slime/ai/subtrees.dm @@ -0,0 +1,54 @@ +/datum/ai_planning_subtree/use_mob_ability/evolve + ability_key = BB_SLIME_EVOLVE + +/datum/ai_planning_subtree/use_mob_ability/reproduce + ability_key = BB_SLIME_REPRODUCE + +//Handles the slime changing their facial overlays +/datum/ai_planning_subtree/change_slime_face + var/face_change_chance = 5 + +/datum/ai_planning_subtree/change_slime_face/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) + if(!SPT_PROB(face_change_chance, seconds_per_tick)) + return + + var/mob/living/basic/slime/slime_pawn = controller.pawn + if(!istype(slime_pawn)) + return + + if(slime_pawn.stat) //dead slimes make no smiles + return + + controller.queue_behavior(/datum/ai_behavior/perform_change_slime_face) + +// Slime subtree for hunting down people to drain +/datum/ai_planning_subtree/find_and_hunt_target/find_slime_food + finding_behavior = /datum/ai_behavior/find_hunt_target/find_slime_food + hunting_behavior = /datum/ai_behavior/hunt_target/unarmed_attack_target/slime + hunt_targets = list(/mob/living) + hunt_range = 7 + +/datum/ai_planning_subtree/find_and_hunt_target/find_slime_food/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) + var/mob/living/living_pawn = controller.pawn + if(living_pawn.buckled) + return FALSE + + //Slimes don't want to hunt if they are neither rabid, hungry or feeling attack right now + if( (controller.blackboard[BB_SLIME_HUNGER_LEVEL] == SLIME_HUNGER_NONE) && !controller.blackboard[BB_SLIME_RABID] && isnull(controller.blackboard[BB_BASIC_MOB_CURRENT_TARGET])) + return FALSE + + return ..() + +/datum/ai_planning_subtree/basic_melee_attack_subtree/slime + +/datum/ai_planning_subtree/basic_melee_attack_subtree/slime/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) + var/mob/living/living_pawn = controller.pawn + if(living_pawn.buckled) + return + return ..() + +/datum/ai_planning_subtree/random_speech/slime + speech_chance = 1 + speak = list("Blorble...","Bzzt...","") + emote_hear = list("blorbles.") + emote_see = list("lights up for a bit, then stops.","bounces in place.", "jiggles!","vibrates!") diff --git a/code/modules/mob/living/simple_animal/slime/death.dm b/code/modules/mob/living/basic/slime/death.dm similarity index 64% rename from code/modules/mob/living/simple_animal/slime/death.dm rename to code/modules/mob/living/basic/slime/death.dm index a072299d663..3ce7758cf16 100644 --- a/code/modules/mob/living/simple_animal/slime/death.dm +++ b/code/modules/mob/living/basic/slime/death.dm @@ -1,9 +1,10 @@ -/mob/living/simple_animal/slime/death(gibbed) +/mob/living/basic/slime/death(gibbed) if(stat == DEAD) return if(!gibbed && life_stage == SLIME_LIFE_STAGE_ADULT) - var/mob/living/simple_animal/slime/new_slime = new(drop_location(), slime_type.type) - new_slime.rabid = TRUE + var/mob/living/basic/slime/new_slime = new(drop_location(), slime_type.type) + + new_slime.ai_controller?.set_blackboard_key(BB_SLIME_RABID, TRUE) new_slime.regenerate_icons() //revives us as a baby @@ -20,6 +21,6 @@ return ..(gibbed) -/mob/living/simple_animal/slime/gib() +/mob/living/basic/slime/gib() death(TRUE) qdel(src) diff --git a/code/modules/mob/living/basic/slime/defense.dm b/code/modules/mob/living/basic/slime/defense.dm new file mode 100644 index 00000000000..17bd22b905a --- /dev/null +++ b/code/modules/mob/living/basic/slime/defense.dm @@ -0,0 +1,117 @@ + +/mob/living/basic/slime/emp_act(severity) + . = ..() + if(. & EMP_PROTECT_SELF) + return + powerlevel = 0 // oh no, the power! + +///If a slime is attack with an empty hand, shoves included, try to wrestle them off the mob they are on +/mob/living/basic/slime/proc/on_attack_hand(mob/living/basic/slime/defender_slime, mob/living/attacker) + SIGNAL_HANDLER + + if(isnull(buckled)) + return + + if(buckled == attacker ? prob(60) : prob(30)) //its easier to remove the slime from yourself + attacker.visible_message(span_warning("[attacker] attempts to wrestle \the [defender_slime.name] off [buckled == attacker ? "" : buckled] !"), \ + span_danger("[buckled == attacker ? "You attempt" : "[attacker] attempts" ] to wrestle \the [defender_slime.name] off [buckled == attacker ? "" : buckled]!")) + playsound(loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) + return + + attacker.visible_message(span_warning("[attacker] manages to wrestle \the [defender_slime.name] off!"), span_notice("You manage to wrestle \the [defender_slime.name] off!")) + playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) + + defender_slime.discipline_slime() + +/mob/living/basic/slime/attackby(obj/item/attacking_item, mob/living/user, params) + + //Lets you feed slimes plasma. Checks before the passthrough force check + if(istype(attacking_item, /obj/item/stack/sheet/mineral/plasma) && stat == CONSCIOUS) + use_sheet(attacking_item, user) + return + + //Checks if the item passes through the slime first. Safe items can be used simply + if(check_item_passthrough(attacking_item)) + return + + try_discipline_slime(attacking_item) + + if(!istype(attacking_item, /obj/item/storage/bag/xeno)) + return ..() + + use_xeno_bag(attacking_item, user) + + +///Checks if an item harmlessly passes through the slime +/mob/living/basic/slime/proc/check_item_passthrough(obj/item/attacking_item, mob/living/user) + if(attacking_item.force <= 0) + return FALSE + + if(!prob(25)) + return FALSE + + user.do_attack_animation(src) + user.changeNext_move(CLICK_CD_MELEE) + to_chat(user, span_danger("[attacking_item] passes right through [src]!")) + return TRUE + +///Attempts to use the item to discipline the unruly slime +/mob/living/basic/slime/proc/try_discipline_slime(obj/item/attacking_item) + if(attacking_item.force < 3) + return + + var/force_effect = attacking_item.force * (life_stage == SLIME_LIFE_STAGE_BABY ? 2 : 1) + if(prob(10 + force_effect)) + discipline_slime() + +///Handles feeding a sheet of plasma to a slime +/mob/living/basic/slime/proc/use_sheet(obj/item/stack/sheet/mineral/plasma/delicious_sheet, mob/living/user) + befriend(user) + to_chat(user, span_notice("You feed the slime the plasma. It chirps happily.")) + delicious_sheet.use(1) + new /obj/effect/temp_visual/heart(loc) + return + +///Handles feeding a slim with a bag full of extracts +/mob/living/basic/slime/proc/use_xeno_bag(obj/item/storage/bag/xeno/xeno_bag, mob/living/user) + if(!crossbreed_modification) + to_chat(user, span_warning("The slime is not currently being mutated.")) + return + var/has_output = FALSE //Have we outputted text? + var/has_found = FALSE //Have we found an extract to be added? + for(var/obj/item/slime_extract/extract in xeno_bag.contents) + if(extract.crossbreed_modification == crossbreed_modification) + xeno_bag.atom_storage.attempt_remove(extract, get_turf(src), silent = TRUE) + qdel(extract) + applied_crossbreed_amount++ + has_found = TRUE + if(applied_crossbreed_amount >= SLIME_EXTRACT_CROSSING_REQUIRED) + to_chat(user, span_notice("You feed the slime as many of the extracts from the bag as you can, and it mutates!")) + playsound(src, 'sound/effects/attackblob.ogg', 50, TRUE) + spawn_corecross() + has_output = TRUE + break + + if(has_output) + return + + if(!has_found) + to_chat(user, span_warning("There are no extracts in the bag that this slime will accept!")) + else + to_chat(user, span_notice("You feed the slime some extracts from the bag.")) + playsound(src, 'sound/effects/attackblob.ogg', 50, TRUE) + +///Handles the adverse effects of water on slimes +/mob/living/basic/slime/proc/apply_water() + adjustBruteLoss(rand(15,20)) + discipline_slime() + +///Stops the slime from feeding, and might remove rabidity and targets +/mob/living/basic/slime/proc/discipline_slime() + stop_feeding(silent = TRUE) + if(life_stage == SLIME_LIFE_STAGE_BABY && prob(80)) + ai_controller?.clear_blackboard_key(BB_BASIC_MOB_CURRENT_TARGET) + ai_controller?.clear_blackboard_key(BB_CURRENT_HUNTING_TARGET) + + if(prob(10)) + ai_controller?.set_blackboard_key(BB_SLIME_RABID, FALSE) diff --git a/code/modules/mob/living/simple_animal/slime/emote.dm b/code/modules/mob/living/basic/slime/emote.dm similarity index 90% rename from code/modules/mob/living/simple_animal/slime/emote.dm rename to code/modules/mob/living/basic/slime/emote.dm index e8305a29f55..93b889a07a4 100644 --- a/code/modules/mob/living/simple_animal/slime/emote.dm +++ b/code/modules/mob/living/basic/slime/emote.dm @@ -1,5 +1,5 @@ /datum/emote/slime - mob_type_allowed_typecache = /mob/living/simple_animal/slime + mob_type_allowed_typecache = /mob/living/basic/slime mob_type_blacklist_typecache = list() /datum/emote/slime/bounce @@ -31,7 +31,7 @@ . = ..() if(!.) return - var/mob/living/simple_animal/slime/slime_user = user + var/mob/living/basic/slime/slime_user = user slime_user.current_mood = mood_key slime_user.regenerate_icons() diff --git a/code/modules/mob/living/basic/slime/feeding.dm b/code/modules/mob/living/basic/slime/feeding.dm new file mode 100644 index 00000000000..2c69aad8001 --- /dev/null +++ b/code/modules/mob/living/basic/slime/feeding.dm @@ -0,0 +1,79 @@ + +//Feeding + +///Can the slime leech life energy from the target? +/mob/living/basic/slime/proc/can_feed_on(mob/living/meal, silent = FALSE, check_adjacent = FALSE, check_friendship = FALSE) + + if(!isliving(meal)) //sanity check + return FALSE + + if(stat != CONSCIOUS) + if(!silent) + balloon_alert(src, "unconscious!") + return FALSE + + if(hunger_disabled) + if(!silent) + balloon_alert(src, "not hungry!") + return FALSE + + if(check_friendship && (REF(meal) in faction)) + return FALSE + + if(check_adjacent && !Adjacent(meal)) + return FALSE + + if(meal.stat == DEAD) + if(!silent) + balloon_alert(src, "no life energy!") + return FALSE + + if(locate(/mob/living/basic/slime) in meal.buckled_mobs) + if(!silent) + balloon_alert(src, "another slime in the way!") + return FALSE + + if(issilicon(meal) || meal.mob_biotypes & MOB_ROBOTIC || meal.flags_1 & HOLOGRAM_1) + balloon_alert(src, "no life energy!") + return FALSE + + if(isslime(meal)) + if(!silent) + balloon_alert(src, "can't eat slime!") + return FALSE + + if(isanimal(meal)) + var/mob/living/simple_animal/simple_meal = meal + if(simple_meal.damage_coeff[TOX] <= 0 && simple_meal.damage_coeff[BRUTE] <= 0) //The creature wouldn't take any damage, it must be too weird even for us. + if(!silent) + balloon_alert(src, "not food!") + return FALSE + else if(isbasicmob(meal)) + var/mob/living/basic/basic_meal = meal + if(basic_meal.damage_coeff[TOX] <= 0 && basic_meal.damage_coeff[BRUTE] <= 0) + if (!silent) + balloon_alert(src, "not food!") + return FALSE + + return TRUE + +///The slime will start feeding on the target +/mob/living/basic/slime/proc/start_feeding(mob/living/target_mob) + target_mob.unbuckle_all_mobs(force=TRUE) //Slimes rip other mobs (eg: shoulder parrots) off (Slimes Vs Slimes is already handled in can_feed_on()) + if(target_mob.buckle_mob(src, force=TRUE)) + layer = MOB_ABOVE_PIGGYBACK_LAYER //always appear above the target mob, no matter the direction + target_mob.visible_message(span_danger("[name] latches onto [target_mob]!"), \ + span_userdanger("[name] latches onto [target_mob]!")) + target_mob.apply_status_effect(/datum/status_effect/slime_leech, src) + else + balloon_alert(src, "latch failed!") + +///The slime will stop feeding +/mob/living/basic/slime/proc/stop_feeding(silent = FALSE) + if(!buckled) + return + + if(!silent) + visible_message(span_warning("[src] lets go of [buckled]!"), span_notice("You let go of [buckled]")) + layer = initial(layer) + buckled.unbuckle_mob(src,force=TRUE) diff --git a/code/modules/mob/living/basic/slime/life.dm b/code/modules/mob/living/basic/slime/life.dm new file mode 100644 index 00000000000..68cd33ce775 --- /dev/null +++ b/code/modules/mob/living/basic/slime/life.dm @@ -0,0 +1,75 @@ + +/mob/living/basic/slime/Life(seconds_per_tick = SSMOBS_DT, times_fired) + ..() + + if(!HAS_TRAIT(src, TRAIT_STASIS)) //No hunger in stasis + handle_nutrition(seconds_per_tick) + + handle_slime_stasis(seconds_per_tick) + +/mob/living/basic/slime/handle_environment(datum/gas_mixture/environment, seconds_per_tick, times_fired) + ..() + if(bodytemperature <= (T0C - 40)) // stun temperature + apply_status_effect(/datum/status_effect/freon, SLIME_COLD) + else + remove_status_effect(/datum/status_effect/freon, SLIME_COLD) + +///Handles if a slime's environment would cause it to enter stasis. Ignores TRAIT_STASIS +/mob/living/basic/slime/proc/handle_slime_stasis(seconds_per_tick) + var/datum/gas_mixture/environment = loc.return_air() + + var/bz_percentage = 0 + + if(environment.gases[/datum/gas/bz]) + bz_percentage = environment.gases[/datum/gas/bz][MOLES] / environment.total_moles() + + if(bz_percentage >= 0.05 && bodytemperature < (T0C + 100)) //Check if we should be in stasis + if(!has_status_effect(/datum/status_effect/grouped/stasis)) //Check if we don't have the status effect yet + to_chat(src, span_danger("Nerve gas in the air has put you in stasis!")) + apply_status_effect(/datum/status_effect/grouped/stasis, STASIS_SLIME_BZ) + powerlevel = 0 + ai_controller?.clear_blackboard_key(BB_SLIME_RABID) + else if(has_status_effect(/datum/status_effect/grouped/stasis)) //Check if we still have the status effect + to_chat(src, span_notice("You wake up from the stasis.")) + remove_status_effect(/datum/status_effect/grouped/stasis, STASIS_SLIME_BZ) + +///Handles the consumption of nutrition, and growth +/mob/living/basic/slime/proc/handle_nutrition(seconds_per_tick = SSMOBS_DT) + if(hunger_disabled) //God as my witness, I will never go hungry again + set_nutrition(700) + return + + if(SPT_PROB(7.5, seconds_per_tick)) + adjust_nutrition((life_stage == SLIME_LIFE_STAGE_ADULT ? -1 : -0.5) * seconds_per_tick) + + if(nutrition < SLIME_STARVE_NUTRITION) + ai_controller?.set_blackboard_key(BB_SLIME_HUNGER_LEVEL, SLIME_HUNGER_STARVING) + + if(SPT_PROB(0.5, seconds_per_tick) && LAZYLEN(ai_controller?.blackboard[BB_FRIENDS_LIST])) + var/your_fault = pick(ai_controller?.blackboard[BB_FRIENDS_LIST]) + unfriend(your_fault) + + else if(nutrition < SLIME_HUNGER_NUTRITION || (nutrition < SLIME_GROW_NUTRITION && SPT_PROB(25, seconds_per_tick)) ) + ai_controller?.set_blackboard_key(BB_SLIME_HUNGER_LEVEL, SLIME_HUNGER_HUNGRY) + + else + ai_controller?.set_blackboard_key(BB_SLIME_HUNGER_LEVEL, SLIME_HUNGER_NONE) + + if(nutrition == 0) //adjust nutrition ensures it can't go below 0 + if(SPT_PROB(50, seconds_per_tick)) + adjustBruteLoss(rand(0,5)) + return + + if (SLIME_GROW_NUTRITION <= nutrition) + + if(amount_grown < SLIME_EVOLUTION_THRESHOLD) + adjust_nutrition(-10 * seconds_per_tick) + amount_grown++ + + if(powerlevel < SLIME_MAX_POWER && SPT_PROB(30-powerlevel*2, seconds_per_tick)) + powerlevel++ + + else if (powerlevel < SLIME_MEDIUM_POWER && SLIME_HUNGER_NUTRITION <= nutrition && SPT_PROB(25-powerlevel*5, seconds_per_tick)) + powerlevel++ + + update_mob_action_buttons() diff --git a/code/modules/mob/living/basic/slime/slime.dm b/code/modules/mob/living/basic/slime/slime.dm new file mode 100644 index 00000000000..63c738b9652 --- /dev/null +++ b/code/modules/mob/living/basic/slime/slime.dm @@ -0,0 +1,389 @@ +#define SLIME_EXTRA_SHOCK_COST 3 +#define SLIME_EXTRA_SHOCK_THRESHOLD 8 +#define SLIME_BASE_SHOCK_PERCENTAGE 10 +#define SLIME_SHOCK_PERCENTAGE_PER_LEVEL 7 + +/mob/living/basic/slime + name = "grey baby slime (123)" + icon = 'icons/mob/simple/slimes.dmi' + icon_state = "grey baby slime" + pass_flags = PASSTABLE | PASSGRILLE + gender = NEUTER + faction = list(FACTION_SLIME, FACTION_NEUTRAL) + + icon_living = "grey baby slime" + icon_dead = "grey baby slime dead" + + attack_sound = 'sound/weapons/bite.ogg' + + //Base physiology + + maxHealth = 150 + health = 150 + mob_biotypes = MOB_SLIME + melee_damage_lower = 5 + melee_damage_upper = 25 + wound_bonus = -45 + can_buckle_to = FALSE + + damage_coeff = list(BRUTE = 1, BURN = -1, TOX = 1, STAMINA = 0, OXY = 1) //Healed by fire + unsuitable_cold_damage = 15 + unsuitable_heat_damage = 0 + maximum_survivable_temperature = INFINITY + habitable_atmos = null + + //Messages + + attack_verb_simple = "glomp" + attack_verb_continuous = "glomps" + + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "shoos" + response_disarm_simple = "shoo" + response_harm_continuous = "stomps on" + response_harm_simple = "stomp on" + + //Speech + + speak_emote = list("blorbles") + bubble_icon = "slime" + initial_language_holder = /datum/language_holder/slime + + verb_say = "blorbles" + verb_ask = "inquisitively blorbles" + verb_exclaim = "loudly blorbles" + verb_yell = "loudly blorbles" + + //AI controller + + ai_controller = /datum/ai_controller/basic_controller/slime + + //Slime physiology + ///What is our current lifestage? + var/life_stage = SLIME_LIFE_STAGE_BABY + + ///Our slime's current mood + var/current_mood = SLIME_MOOD_NONE + + ///The number of /obj/item/slime_extract's the slime has left inside + var/cores = 1 + ///Chance of mutating, should be between 25 and 35 + var/mutation_chance = 30 + ///1-10 controls how much electricity they are generating + var/powerlevel = SLIME_MIN_POWER + ///Controls how long the slime has been overfed, if 10, grows or reproduces + var/amount_grown = 0 + /// No hunger + var/hunger_disabled = FALSE + + ///Has a mutator been used on the slime? Only one is allowed + var/mutator_used = FALSE + + //The datum that handles the slime colour's core and possible mutations + var/datum/slime_type/slime_type + + //CORE-CROSSING CODE + + ///What cross core modification is being used. + var/crossbreed_modification + ///How many extracts of the modtype have been applied. + var/applied_crossbreed_amount = 0 + + //AI related traits + + /// Instructions you can give to slimes + var/static/list/pet_commands = list( + /datum/pet_command/idle, + /datum/pet_command/free, + /datum/pet_command/follow, + /datum/pet_command/point_targeting/attack/slime, + ) + + /// Our evolve action + var/datum/action/innate/slime/evolve/evolve_action + /// Our reproduction action + var/datum/action/innate/slime/reproduce/reproduce_action + +/mob/living/basic/slime/Initialize(mapload, new_type=/datum/slime_type/grey, new_life_stage=SLIME_LIFE_STAGE_BABY) + + . = ..() + + evolve_action = new (src) + evolve_action.Grant(src) + + reproduce_action = new (src) + reproduce_action.Grant(src) + + set_slime_type(new_type) + set_life_stage(new_life_stage) + update_name() + regenerate_icons() + + set_nutrition(SLIME_STARTING_NUTRITION) + + AddComponent(/datum/component/health_scaling_effects, min_health_slowdown = 2) + AddComponent(/datum/component/obeys_commands, pet_commands) + + AddElement(/datum/element/ai_retaliate) + AddElement(/datum/element/basic_health_examine, light_damage_message = "It has some punctures in its flesh!", heavy_damage_message = span_bold("It has severe punctures and tears in its flesh!"), heavy_threshold = 0.4) + AddElement(/datum/element/footstep, footstep_type = FOOTSTEP_MOB_SLIME) + AddElement(/datum/element/soft_landing) + AddElement(/datum/element/swabable, CELL_LINE_TABLE_SLIME, CELL_VIRUS_TABLE_GENERIC_MOB, 1, 5) + + add_traits(list(TRAIT_CANT_RIDE, TRAIT_VENTCRAWLER_ALWAYS), INNATE_TRAIT) + + RegisterSignal(src, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, PROC_REF(on_slime_pre_attack)) + RegisterSignal(src, COMSIG_ATOM_ATTACK_HAND, PROC_REF(on_attack_hand) ) + + ai_controller.set_blackboard_key(BB_SLIME_EVOLVE, evolve_action) + ai_controller.set_blackboard_key(BB_SLIME_REPRODUCE, reproduce_action) + +/mob/living/basic/slime/Destroy() + + QDEL_NULL(evolve_action) + QDEL_NULL(reproduce_action) + + return ..() + +///Random slime subtype +/mob/living/basic/slime/random + +/mob/living/basic/slime/random/Initialize(mapload, new_colour, new_life_stage) + return ..(mapload, pick(subtypesof(/datum/slime_type)), prob(50) ? SLIME_LIFE_STAGE_ADULT : SLIME_LIFE_STAGE_BABY) + +///Friendly docile subtype +/mob/living/basic/slime/pet + hunger_disabled = TRUE + +/mob/living/basic/slime/pet/Initialize(mapload, new_colour, new_life_stage) + . = ..() + set_pacified_behaviour() + +//Hilbert subtype +/mob/living/basic/slime/hilbert + +/mob/living/basic/slime/hilbert/Initialize(mapload, new_colour, new_life_stage) + . = ..(mapload, /datum/slime_type/bluespace) + ai_controller?.set_blackboard_key(BB_SLIME_RABID, TRUE) + +/mob/living/basic/slime/adjust_nutrition(change, forced) + . = ..() + nutrition = min(nutrition, SLIME_MAX_NUTRITION) + +/mob/living/basic/slime/set_nutrition(set_to, forced = FALSE) + . = ..() + nutrition = min(nutrition, SLIME_MAX_NUTRITION) + + +/mob/living/basic/slime/update_name() + ///Checks if the slime has a generic name, in the format of baby/adult slime (123) + var/static/regex/slime_name_regex = new("\\w+ (baby|adult) slime \\(\\d+\\)") + if(slime_name_regex.Find(name)) + var/slime_id = rand(1, 1000) + name = "[slime_type.colour] [life_stage] slime ([slime_id])" + real_name = name + return ..() + +/mob/living/basic/slime/regenerate_icons() + cut_overlays() + var/icon_text = "[slime_type.colour] [life_stage] slime" + icon_dead = "[icon_text] dead" + if(stat != DEAD) + icon_state = icon_text + if(current_mood && current_mood != SLIME_MOOD_NONE && !stat) + add_overlay("aslime-[current_mood]") + else + icon_state = icon_dead + ..() + +/mob/living/basic/slime/get_status_tab_items() + . = ..() + if(!hunger_disabled) + . += "Nutrition: [nutrition]/[SLIME_MAX_NUTRITION]" + . += "Growth: [amount_grown]/[SLIME_EVOLUTION_THRESHOLD]" + . += "Power Level: [powerlevel]/[SLIME_MAX_POWER]" + +/mob/living/basic/slime/MouseDrop(atom/movable/target_atom as mob|obj) + if(isliving(target_atom) && target_atom != src && usr == src) + var/mob/living/food = target_atom + if(can_feed_on(food)) + start_feeding(food) + return ..() + +///Slimes can hop off mobs they have latched onto +/mob/living/basic/slime/resist_buckle() + if(isliving(buckled)) + buckled.unbuckle_mob(src,force=TRUE) + +//slimes can not pull +/mob/living/basic/slime/start_pulling(atom/movable/moveable_atom, state, force = move_force, supress_message = FALSE) + return + +/mob/living/basic/slime/get_mob_buckling_height(mob/seat) + if(..() != 0) + return 3 + +/mob/living/basic/slime/examine(mob/user) + . = ..() + + switch(powerlevel) + if(SLIME_MIN_POWER to SLIME_EXTRA_SHOCK_COST) + . += "It is flickering gently with harmless levels of electrical activity." + + if(SLIME_EXTRA_SHOCK_COST to SLIME_MEDIUM_POWER) + . += "It is glowing brightly with medium levels electrical activity." + + + if(SLIME_MEDIUM_POWER to SLIME_MAX_POWER) + . += "It is glowing alarmingly with high levels of electrical activity." + + if(SLIME_MAX_POWER) + . += span_boldwarning("It is radiating with massive levels of electrical activity!") + +///Changes the slime's current life state +/mob/living/basic/slime/proc/set_life_stage(new_life_stage = SLIME_LIFE_STAGE_BABY) + life_stage = new_life_stage + + switch(life_stage) + if(SLIME_LIFE_STAGE_BABY) + + health = initial(health) + maxHealth = initial(maxHealth) + + obj_damage = initial(obj_damage) + melee_damage_lower = initial(melee_damage_lower) + melee_damage_upper = initial(melee_damage_upper) + wound_bonus = initial(wound_bonus) + + if(SLIME_LIFE_STAGE_ADULT) + + health = 200 + maxHealth = 200 + + obj_damage = 15 + melee_damage_lower += 10 + melee_damage_upper += 10 + wound_bonus = -90 + + ai_controller.set_blackboard_key(BB_SLIME_LIFE_STAGE, life_stage) + update_mob_action_buttons() + +///Sets the slime's type, name and its icons +/mob/living/basic/slime/proc/set_slime_type(new_type) + slime_type = new new_type + +///randomizes the colour of a slime +/mob/living/basic/slime/proc/random_colour() + set_slime_type(pick(subtypesof(/datum/slime_type))) + update_name() + regenerate_icons() + +///Handles slime attacking restrictions, and any extra effects that would trigger +/mob/living/basic/slime/proc/on_slime_pre_attack(mob/living/basic/slime/our_slime, atom/target, proximity, modifiers) + SIGNAL_HANDLER + + if(LAZYACCESS(modifiers, RIGHT_CLICK) && isliving(target) && target != src && usr == src) + if(our_slime.can_feed_on(target)) + our_slime.start_feeding(target) + return COMPONENT_HOSTILE_NO_ATTACK + + if(isAI(target)) //The aI is not tasty! + target.balloon_alert(our_slime, "not tasty!") + return COMPONENT_HOSTILE_NO_ATTACK + + if(our_slime.buckled == target) //If you try to attack the creature you are latched on, you instead cancel feeding + our_slime.stop_feeding() + return COMPONENT_HOSTILE_NO_ATTACK + + if(iscyborg(target)) + var/mob/living/silicon/robot/borg_target = target + borg_target.flash_act() + do_sparks(5, TRUE, borg_target) + var/stunprob = our_slime.powerlevel * SLIME_SHOCK_PERCENTAGE_PER_LEVEL + SLIME_BASE_SHOCK_PERCENTAGE + if(prob(stunprob) && our_slime.powerlevel >= SLIME_EXTRA_SHOCK_COST) + our_slime.powerlevel = clamp(our_slime.powerlevel - SLIME_EXTRA_SHOCK_COST, SLIME_MIN_POWER, SLIME_MAX_POWER) + borg_target.apply_damage(our_slime.powerlevel * rand(6, 10), BRUTE, spread_damage = TRUE, wound_bonus = CANT_WOUND) + borg_target.visible_message(span_danger("The [our_slime.name] shocks [borg_target]!"), span_userdanger("The [our_slime.name] shocks you!")) + else + borg_target.visible_message(span_danger("The [our_slime.name] fails to hurt [borg_target]!"), span_userdanger("The [our_slime.name] failed to hurt you!")) + + return COMPONENT_HOSTILE_NO_ATTACK + + if(iscarbon(target) && our_slime.powerlevel > SLIME_MIN_POWER) + var/mob/living/carbon/carbon_target = target + var/stunprob = our_slime.powerlevel * SLIME_SHOCK_PERCENTAGE_PER_LEVEL + SLIME_BASE_SHOCK_PERCENTAGE // 17 at level 1, 80 at level 10 + if(!prob(stunprob)) + return NONE // normal attack + + carbon_target.visible_message(span_danger("The [our_slime.name] shocks [carbon_target]!"), span_userdanger("The [our_slime.name] shocks you!")) + + do_sparks(5, TRUE, carbon_target) + var/power = our_slime.powerlevel + rand(0,3) + carbon_target.Paralyze(2 SECONDS) + carbon_target.Knockdown(power * 2 SECONDS) + carbon_target.set_stutter_if_lower(power * 2 SECONDS) + if (prob(stunprob) && our_slime.powerlevel >= SLIME_EXTRA_SHOCK_COST) + our_slime.powerlevel = clamp(our_slime.powerlevel - SLIME_EXTRA_SHOCK_COST, SLIME_MIN_POWER, SLIME_MAX_POWER) + carbon_target.apply_damage(our_slime.powerlevel * rand(6, 10), BURN, spread_damage = TRUE, wound_bonus = CANT_WOUND) + + if(isslime(target)) + if(target == our_slime) + return COMPONENT_HOSTILE_NO_ATTACK + var/mob/living/basic/slime/target_slime = target + if(target_slime.buckled) + target_slime.stop_feeding(silent = TRUE) + visible_message(span_danger("[our_slime] pulls [target_slime] off!"), \ + span_danger("You pull [target_slime] off!")) + return NONE // normal attack + + var/is_adult_slime = our_slime.life_stage == SLIME_LIFE_STAGE_ADULT + if(target_slime.nutrition >= 100) //steal some nutrition. negval handled in life() + var/stolen_nutrition = min(is_adult_slime ? 90 : 50, target_slime.nutrition) + target_slime.adjust_nutrition(-stolen_nutrition) + our_slime.adjust_nutrition(stolen_nutrition) + if(target_slime.health > 0) + our_slime.adjustBruteLoss(is_adult_slime ? -20 : -10) + + +///Spawns a crossed slimecore item +/mob/living/basic/slime/proc/spawn_corecross() + var/static/list/crossbreeds = subtypesof(/obj/item/slimecross) + visible_message(span_danger("[src] shudders, its mutated core consuming the rest of its body!")) + playsound(src, 'sound/magic/smoke.ogg', 50, TRUE) + var/selected_crossbreed_path + for(var/crossbreed_path in crossbreeds) + var/obj/item/slimecross/cross_item = crossbreed_path + if(initial(cross_item.colour) == slime_type.colour && initial(cross_item.effect) == crossbreed_modification) + selected_crossbreed_path = cross_item + break + if(selected_crossbreed_path) + new selected_crossbreed_path(loc) + else + visible_message(span_warning("The mutated core shudders, and collapses into a puddle, unable to maintain its form.")) + qdel(src) + + +///Makes the slime peaceful and content +/mob/living/basic/slime/proc/set_pacified_behaviour() + hunger_disabled = TRUE + ai_controller?.set_blackboard_key(BB_SLIME_RABID, FALSE) + ai_controller?.set_blackboard_key(BB_SLIME_HUNGER_DISABLED, TRUE) + set_nutrition(SLIME_STARTING_NUTRITION) + +///Makes the slime angry and hungry +/mob/living/basic/slime/proc/set_enraged_behaviour() + hunger_disabled = FALSE + ai_controller?.set_blackboard_key(BB_SLIME_HUNGER_DISABLED, FALSE) + ai_controller?.set_blackboard_key(BB_SLIME_RABID, TRUE) + +///Makes the slime hungry but mostly friendly +/mob/living/basic/slime/proc/set_default_behaviour() + hunger_disabled = FALSE + ai_controller?.set_blackboard_key(BB_SLIME_HUNGER_DISABLED, FALSE) + ai_controller?.set_blackboard_key(BB_SLIME_RABID, FALSE) + +#undef SLIME_EXTRA_SHOCK_COST +#undef SLIME_EXTRA_SHOCK_THRESHOLD +#undef SLIME_BASE_SHOCK_PERCENTAGE +#undef SLIME_SHOCK_PERCENTAGE_PER_LEVEL diff --git a/code/modules/mob/living/simple_animal/slime/slime_type.dm b/code/modules/mob/living/basic/slime/slime_type.dm similarity index 100% rename from code/modules/mob/living/simple_animal/slime/slime_type.dm rename to code/modules/mob/living/basic/slime/slime_type.dm diff --git a/code/modules/mob/living/basic/space_fauna/bear/_bear.dm b/code/modules/mob/living/basic/space_fauna/bear/_bear.dm index eef08b30197..c528819b5bb 100644 --- a/code/modules/mob/living/basic/space_fauna/bear/_bear.dm +++ b/code/modules/mob/living/basic/space_fauna/bear/_bear.dm @@ -33,7 +33,7 @@ faction = list(FACTION_RUSSIAN) - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + habitable_atmos = null minimum_survivable_temperature = TCMB maximum_survivable_temperature = T0C + 1500 ai_controller = /datum/ai_controller/basic_controller/bear diff --git a/code/modules/mob/living/basic/space_fauna/carp/carp.dm b/code/modules/mob/living/basic/space_fauna/carp/carp.dm index e0700892523..cf905de5dbf 100644 --- a/code/modules/mob/living/basic/space_fauna/carp/carp.dm +++ b/code/modules/mob/living/basic/space_fauna/carp/carp.dm @@ -41,7 +41,7 @@ butcher_results = list(/obj/item/food/fishmeat/carp = 2, /obj/item/stack/sheet/animalhide/carp = 1) greyscale_config = /datum/greyscale_config/carp ai_controller = /datum/ai_controller/basic_controller/carp - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + habitable_atmos = null minimum_survivable_temperature = 0 maximum_survivable_temperature = 1500 diff --git a/code/modules/mob/living/basic/space_fauna/demon/demon.dm b/code/modules/mob/living/basic/space_fauna/demon/demon.dm index 741ac27712f..f3f53920689 100644 --- a/code/modules/mob/living/basic/space_fauna/demon/demon.dm +++ b/code/modules/mob/living/basic/space_fauna/demon/demon.dm @@ -36,7 +36,7 @@ death_message = "screams in agony as it sublimates into a sulfurous smoke." death_sound = 'sound/magic/demon_dies.ogg' - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + habitable_atmos = null minimum_survivable_temperature = T0C - 25 //Weak to cold maximum_survivable_temperature = INFINITY diff --git a/code/modules/mob/living/basic/space_fauna/eyeball/_eyeball.dm b/code/modules/mob/living/basic/space_fauna/eyeball/_eyeball.dm index 50685e1ebe0..6ad7ff77f1d 100644 --- a/code/modules/mob/living/basic/space_fauna/eyeball/_eyeball.dm +++ b/code/modules/mob/living/basic/space_fauna/eyeball/_eyeball.dm @@ -30,7 +30,7 @@ faction = list(FACTION_SPOOKY) speak_emote = list("telepathically cries") - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + habitable_atmos = null minimum_survivable_temperature = T0C maximum_survivable_temperature = T0C + 1500 sight = SEE_SELF|SEE_MOBS|SEE_OBJS|SEE_TURFS diff --git a/code/modules/mob/living/basic/space_fauna/hivebot/_hivebot.dm b/code/modules/mob/living/basic/space_fauna/hivebot/_hivebot.dm index d914e0589c4..c9e155d2bda 100644 --- a/code/modules/mob/living/basic/space_fauna/hivebot/_hivebot.dm +++ b/code/modules/mob/living/basic/space_fauna/hivebot/_hivebot.dm @@ -29,7 +29,7 @@ speech_span = SPAN_ROBOT death_message = "blows apart!" - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + habitable_atmos = null minimum_survivable_temperature = TCMB ai_controller = /datum/ai_controller/basic_controller/hivebot ///does this type do range attacks? diff --git a/code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_heart.dm b/code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_heart.dm index 72f2001011c..7a46e844355 100644 --- a/code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_heart.dm +++ b/code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_heart.dm @@ -22,7 +22,7 @@ response_disarm_simple = "gently push" faction = list() ai_controller = /datum/ai_controller/basic_controller/meteor_heart - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + habitable_atmos = null minimum_survivable_temperature = 0 maximum_survivable_temperature = 1500 combat_mode = TRUE diff --git a/code/modules/mob/living/basic/space_fauna/morph.dm b/code/modules/mob/living/basic/space_fauna/morph.dm index 22cce322b13..8b4fe3802d7 100644 --- a/code/modules/mob/living/basic/space_fauna/morph.dm +++ b/code/modules/mob/living/basic/space_fauna/morph.dm @@ -15,7 +15,7 @@ maxHealth = 150 health = 150 - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + habitable_atmos = null minimum_survivable_temperature = TCMB obj_damage = 50 diff --git a/code/modules/mob/living/basic/space_fauna/netherworld/migo.dm b/code/modules/mob/living/basic/space_fauna/netherworld/migo.dm index 2b5eaf99c6d..d5fd008a186 100644 --- a/code/modules/mob/living/basic/space_fauna/netherworld/migo.dm +++ b/code/modules/mob/living/basic/space_fauna/netherworld/migo.dm @@ -48,19 +48,21 @@ /mob/living/basic/migo/proc/update_dodge_chance(health_ratio) dodge_prob = LERP(50, 10, health_ratio) +/mob/living/basic/migo/proc/make_migo_sound() + playsound(src, pick(migo_sounds), 50, TRUE) + /mob/living/basic/migo/send_speech(message_raw, message_range, obj/source, bubble_type, list/spans, datum/language/message_language, list/message_mods, forced, tts_message, list/tts_filter) . = ..() if(stat != CONSCIOUS) return - playsound(src, pick(migo_sounds), 50, TRUE) + make_migo_sound() /mob/living/basic/migo/Life(seconds_per_tick = SSMOBS_DT, times_fired) ..() if(stat) return if(SPT_PROB(5, seconds_per_tick)) - var/chosen_sound = pick(migo_sounds) - playsound(src, chosen_sound, 50, TRUE) + make_migo_sound() /mob/living/basic/migo/Move(atom/newloc, dir, step_x, step_y) if(!ckey && prob(dodge_prob) && moving_diagonally == 0 && isturf(loc) && isturf(newloc)) @@ -82,4 +84,15 @@ desc = parent_type::desc + " This one is wearing a bright blue wig." icon_state = "mi-go-h" icon_living = "mi-go-h" - gold_core_spawnable = NO_SPAWN + + gender = FEMALE + gold_core_spawnable = FRIENDLY_SPAWN + faction = list(FACTION_NEUTRAL) + +/mob/living/basic/migo/hatsune/make_migo_sound() + playsound(src, 'sound/creatures/tourist/tourist_talk_japanese1.ogg', 50, TRUE) + +/mob/living/basic/migo/hatsune/Initialize(mapload) + . = ..() + var/static/list/death_loot = list(/obj/item/instrument/piano_synth) + AddElement(/datum/element/death_drops, death_loot) diff --git a/code/modules/mob/living/basic/space_fauna/revenant/_revenant.dm b/code/modules/mob/living/basic/space_fauna/revenant/_revenant.dm index 0a5239e1f6e..266e7b5b414 100644 --- a/code/modules/mob/living/basic/space_fauna/revenant/_revenant.dm +++ b/code/modules/mob/living/basic/space_fauna/revenant/_revenant.dm @@ -33,7 +33,7 @@ response_harm_simple = "punch through" unsuitable_atmos_damage = 0 damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, STAMINA = 0, OXY = 0) //I don't know how you'd apply those, but revenants no-sell them anyway. - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + habitable_atmos = null minimum_survivable_temperature = 0 maximum_survivable_temperature = INFINITY diff --git a/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.dm b/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.dm index 71fd357fd98..f0df8749a51 100644 --- a/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.dm +++ b/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.dm @@ -111,6 +111,11 @@ /mob/living/basic/spider/giant/hunter/mold //skyrat edit: exists to make molds not spam the world with simple mobs basic_mob_flags = DEL_ON_DEATH + +///Used in the caves away mission. +/mob/living/basic/spider/giant/hunter/away_caves + minimum_survivable_temperature = 0 + gold_core_spawnable = NO_SPAWN /** * ### Scout Spider @@ -169,6 +174,11 @@ ///The health HUD applied to the mob. var/health_hud = DATA_HUD_MEDICAL_ADVANCED +///Used in the caves away mission. +/mob/living/basic/spider/giant/nurse/away_caves + minimum_survivable_temperature = 0 + gold_core_spawnable = NO_SPAWN + /mob/living/basic/spider/giant/nurse/Initialize(mapload) . = ..() var/datum/atom_hud/datahud = GLOB.huds[health_hud] @@ -467,7 +477,7 @@ */ /mob/living/basic/spider/giant/ice name = "giant ice spider" - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + habitable_atmos = null minimum_survivable_temperature = 0 maximum_survivable_temperature = 1500 color = rgb(114,228,250) @@ -481,7 +491,7 @@ */ /mob/living/basic/spider/giant/nurse/ice name = "giant ice spider" - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + habitable_atmos = null minimum_survivable_temperature = 0 maximum_survivable_temperature = 1500 poison_type = /datum/reagent/consumable/frostoil @@ -495,7 +505,7 @@ */ /mob/living/basic/spider/giant/hunter/ice name = "giant ice spider" - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + habitable_atmos = null minimum_survivable_temperature = 0 maximum_survivable_temperature = 1500 poison_type = /datum/reagent/consumable/frostoil diff --git a/code/modules/mob/living/basic/space_fauna/supermatter_spider.dm b/code/modules/mob/living/basic/space_fauna/supermatter_spider.dm index 02fd9ed1bcf..a094e20ec35 100644 --- a/code/modules/mob/living/basic/space_fauna/supermatter_spider.dm +++ b/code/modules/mob/living/basic/space_fauna/supermatter_spider.dm @@ -22,7 +22,7 @@ health = 10 minimum_survivable_temperature = TCMB maximum_survivable_temperature = T0C + 1250 - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + habitable_atmos = null death_message = "falls to the ground, its shard dulling to a miserable grey!" faction = list(FACTION_HOSTILE) diff --git a/code/modules/mob/living/basic/space_fauna/wumborian_fugu/wumborian_fugu.dm b/code/modules/mob/living/basic/space_fauna/wumborian_fugu/wumborian_fugu.dm index bf8be2051d8..675b32c84b5 100644 --- a/code/modules/mob/living/basic/space_fauna/wumborian_fugu/wumborian_fugu.dm +++ b/code/modules/mob/living/basic/space_fauna/wumborian_fugu/wumborian_fugu.dm @@ -41,7 +41,7 @@ lighting_cutoff_red = 20 lighting_cutoff_green = 10 lighting_cutoff_blue = 40 - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + habitable_atmos = null minimum_survivable_temperature = 0 maximum_survivable_temperature = INFINITY ai_controller = /datum/ai_controller/basic_controller/wumborian_fugu diff --git a/code/modules/mob/living/basic/trooper/nanotrasen.dm b/code/modules/mob/living/basic/trooper/nanotrasen.dm index bcbc5e647eb..af32edde7e3 100644 --- a/code/modules/mob/living/basic/trooper/nanotrasen.dm +++ b/code/modules/mob/living/basic/trooper/nanotrasen.dm @@ -64,7 +64,7 @@ desc = "Pray for your life, syndicate. Run while you can." maxHealth = 150 health = 150 - habitable_atmos = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + habitable_atmos = null unsuitable_cold_damage = 0 casingtype = /obj/item/ammo_casing/energy/laser burst_shots = 3 diff --git a/code/modules/mob/living/basic/vermin/cockroach.dm b/code/modules/mob/living/basic/vermin/cockroach.dm index 68fdf3ba0c2..224c7161539 100644 --- a/code/modules/mob/living/basic/vermin/cockroach.dm +++ b/code/modules/mob/living/basic/vermin/cockroach.dm @@ -47,7 +47,6 @@ var/static/list/roach_drops = list(/obj/effect/decal/cleanable/insectguts) AddElement(/datum/element/death_drops, roach_drops) AddElement(/datum/element/swabable, cockroach_cell_line, CELL_VIRUS_TABLE_GENERIC_MOB, 1, 7) - AddElement(/datum/element/basic_body_temp_sensitive, 270, INFINITY) AddComponent( \ /datum/component/squashable, \ squash_chance = 50, \ diff --git a/code/modules/mob/living/basic/vermin/frog.dm b/code/modules/mob/living/basic/vermin/frog.dm index 162848d062a..8e73537328a 100644 --- a/code/modules/mob/living/basic/vermin/frog.dm +++ b/code/modules/mob/living/basic/vermin/frog.dm @@ -52,13 +52,7 @@ ADD_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT) if(prob(1)) - name = "rare frog" - desc = "They seem a little smug." - icon_state = "rare_frog" - icon_living = "rare_frog" - icon_dead = "rare_frog_dead" - butcher_results = list(/obj/item/food/nugget = 5) - poison_type = /datum/reagent/drug/mushroomhallucinogen + make_rare() var/static/list/loc_connections = list( COMSIG_ATOM_ENTERED = PROC_REF(on_entered), @@ -68,6 +62,15 @@ AddElement(/datum/element/ai_retaliate) AddElement(/datum/element/swabable, CELL_LINE_TABLE_FROG, CELL_VIRUS_TABLE_GENERIC_MOB, 1, 5) +/mob/living/basic/frog/proc/make_rare() + name = "rare frog" + desc = "They seem a little smug." + icon_state = "rare_[icon_state]" + icon_living = "rare_[icon_living]" + icon_dead = "rare_[icon_dead]" + butcher_results = list(/obj/item/food/nugget = 5) + poison_type = /datum/reagent/drug/mushroomhallucinogen + /mob/living/basic/frog/proc/on_entered(datum/source, AM as mob|obj) SIGNAL_HANDLER if(!stat && isliving(AM)) @@ -75,6 +78,17 @@ if(L.mob_size > MOB_SIZE_TINY) playsound(src, stepped_sound, 50, TRUE) +/mob/living/basic/frog/icemoon_facility + name = "Peter Jr." + desc = "They seem a little cold." + minimum_survivable_temperature = ICEBOX_MIN_TEMPERATURE + habitable_atmos = null + gold_core_spawnable = NO_SPAWN + +/mob/living/basic/frog/icemoon_facility/make_rare() + . = ..() + name = "Peter Sr." //make him senior. + /mob/living/basic/frog/frog_suicide name = "suicide frog" desc = "Driven by sheer will." diff --git a/code/modules/mob/living/basic/vermin/space_bat.dm b/code/modules/mob/living/basic/vermin/space_bat.dm index 24718c8481a..53f367f4487 100644 --- a/code/modules/mob/living/basic/vermin/space_bat.dm +++ b/code/modules/mob/living/basic/vermin/space_bat.dm @@ -53,3 +53,10 @@ /datum/ai_planning_subtree/target_retaliate, /datum/ai_planning_subtree/basic_melee_attack_subtree, ) + +///Subtype used in the caves away mission +/mob/living/basic/bat/away_caves + name = "cave bat" + desc = "A rare breed of bat which roosts deep in caves." + minimum_survivable_temperature = 0 + gold_core_spawnable = NO_SPAWN diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 653fddab2bd..13c2a153f44 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -454,8 +454,8 @@ if (target_record && length(target_record.past_general_records) > RECORDS_INVISIBLE_THRESHOLD) . += "\[View general records\]" - else if(isobserver(user)) - . += span_info("Quirks: [get_quirk_string(FALSE, CAT_QUIRK_ALL)]") + if(isobserver(user)) + . += span_info("\nQuirks: [get_quirk_string(FALSE, CAT_QUIRK_ALL)]") if(isobserver(user) || user.mind?.can_see_exploitables || user.mind?.has_exploitables_override) var/datum/record/crew/target_records = find_record(perpname) diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 2de9ada56b3..7569ddbe240 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -75,7 +75,7 @@ var/static/list/can_ride_typecache = typecacheof(list( /mob/living/basic/parrot, /mob/living/carbon/human, - /mob/living/simple_animal/slime, + /mob/living/basic/slime, )) var/lastpuke = 0 var/account_id diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm index 3b54c8e2119..a1c3a245034 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -193,12 +193,12 @@ var/datum/action/innate/swap_body/swap_body bodypart_overrides = list( - BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/slime, - BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/slime, - BODY_ZONE_HEAD = /obj/item/bodypart/head/slime, - BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/slime, - BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/slime, - BODY_ZONE_CHEST = /obj/item/bodypart/chest/slime, + BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/jelly/slime, + BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/jelly/slime, + BODY_ZONE_HEAD = /obj/item/bodypart/head/jelly/slime, + BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/jelly/slime, + BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/jelly/slime, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/jelly/slime, ) /datum/species/jelly/slime/get_physical_attributes() @@ -493,12 +493,12 @@ id = SPECIES_LUMINESCENT examine_limb_id = SPECIES_LUMINESCENT bodypart_overrides = list( - BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/luminescent, - BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/luminescent, - BODY_ZONE_HEAD = /obj/item/bodypart/head/luminescent, - BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/luminescent, - BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/luminescent, - BODY_ZONE_CHEST = /obj/item/bodypart/chest/luminescent, + BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/jelly/luminescent, + BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/jelly/luminescent, + BODY_ZONE_HEAD = /obj/item/bodypart/head/jelly/luminescent, + BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/jelly/luminescent, + BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/jelly/luminescent, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/jelly/luminescent, ) mutanteyes = /obj/item/organ/internal/eyes /// How strong is our glow diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 0d16a794a7c..9ef879f016d 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -425,10 +425,6 @@ span_warning("[src] grabs you passively!"), null, null, src) to_chat(src, span_notice("You grab [M] passively!")) - if(!iscarbon(src)) - M.LAssailant = null - else - M.LAssailant = WEAKREF(usr) if(isliving(M)) var/mob/living/L = M @@ -1514,7 +1510,7 @@ created_robot.clear_zeroth_law(announce = FALSE) if(WABBAJACK_SLIME) - new_mob = new /mob/living/simple_animal/slime/random(loc) + new_mob = new /mob/living/basic/slime/random(loc) if(WABBAJACK_XENO) var/picked_xeno_type diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 46d30b893de..5f7571186be 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -30,7 +30,7 @@ radio = /obj/item/radio/headset/silicon/ai can_buckle_to = FALSE var/battery = 200 //emergency power if the AI's APC is off - var/list/network = list("ss13") + var/list/network = list(CAMERANET_NETWORK_SS13) var/obj/machinery/camera/current var/list/connected_robots = list() var/aiRestorePowerRoutine = POWER_RESTORATION_OFF @@ -188,7 +188,7 @@ GLOB.shuttle_caller_list += src builtInCamera = new (src) - builtInCamera.network = list("ss13") + builtInCamera.network = list(CAMERANET_NETWORK_SS13) ai_tracking_tool = new(src) RegisterSignal(ai_tracking_tool, COMSIG_TRACKABLE_TRACKING_TARGET, PROC_REF(on_track_target)) @@ -655,13 +655,14 @@ var/mob/living/silicon/ai/U = usr for (var/obj/machinery/camera/C in GLOB.cameranet.cameras) + var/turf/camera_turf = get_turf(C) //get camera's turf in case it's built into something so we don't get z=0 + var/list/tempnetwork = C.network - if(!(is_station_level(C.z) || is_mining_level(C.z) || ("ss13" in tempnetwork))) + if(!camera_turf || !(is_station_level(camera_turf.z) || is_mining_level(camera_turf.z) || (CAMERANET_NETWORK_SS13 in tempnetwork))) continue if(!C.can_use()) continue - - tempnetwork.Remove("rd", "ordnance", "prison") + tempnetwork.Remove(CAMERANET_NETWORK_RD, CAMERANET_NETWORK_ORDNANCE, CAMERANET_NETWORK_PRISON) if(length(tempnetwork)) for(var/i in C.network) cameralist[i] = i diff --git a/code/modules/mob/living/silicon/ai/multicam.dm b/code/modules/mob/living/silicon/ai/multicam.dm index 45924e2fe98..8980a1017f2 100644 --- a/code/modules/mob/living/silicon/ai/multicam.dm +++ b/code/modules/mob/living/silicon/ai/multicam.dm @@ -172,15 +172,13 @@ GLOBAL_DATUM(ai_camera_room_landmark, /obj/effect/landmark/ai_multicam_room) add = visible - cameras_telegraphed remove = cameras_telegraphed - visible - for (var/V in remove) - var/obj/machinery/camera/C = V + for (var/obj/machinery/camera/C as anything in remove) if(QDELETED(C)) continue cameras_telegraphed -= C C.in_use_lights-- C.update_appearance() - for (var/V in add) - var/obj/machinery/camera/C = V + for (var/obj/machinery/camera/C as anything in add) if(QDELETED(C)) continue cameras_telegraphed |= C @@ -189,8 +187,7 @@ GLOBAL_DATUM(ai_camera_room_landmark, /obj/effect/landmark/ai_multicam_room) /mob/camera/ai_eye/pic_in_pic/proc/disable_camera_telegraphing() telegraph_cameras = FALSE - for (var/V in cameras_telegraphed) - var/obj/machinery/camera/C = V + for (var/obj/machinery/camera/C as anything in cameras_telegraphed) if(QDELETED(C)) continue C.in_use_lights-- diff --git a/code/modules/mob/living/silicon/robot/death.dm b/code/modules/mob/living/silicon/robot/death.dm index 81026bf11b9..3a8cec66efd 100644 --- a/code/modules/mob/living/silicon/robot/death.dm +++ b/code/modules/mob/living/silicon/robot/death.dm @@ -25,7 +25,7 @@ locked = FALSE //unlock cover - if(!QDELETED(builtInCamera) && builtInCamera.status) + if(!QDELETED(builtInCamera) && builtInCamera.camera_enabled) builtInCamera.toggle_cam(src,0) toggle_headlamp(TRUE) //So borg lights are disabled when killed. diff --git a/code/modules/mob/living/silicon/robot/inventory.dm b/code/modules/mob/living/silicon/robot/inventory.dm index be713b429a6..a28718c8c83 100644 --- a/code/modules/mob/living/silicon/robot/inventory.dm +++ b/code/modules/mob/living/silicon/robot/inventory.dm @@ -157,7 +157,7 @@ audible_message(span_warning("[src] sounds an alarm! \"CRITICAL ERROR: ALL modules OFFLINE.\"")) if(builtInCamera) - builtInCamera.status = FALSE + builtInCamera.camera_enabled = FALSE to_chat(src, span_userdanger("CRITICAL ERROR: Built in security camera OFFLINE.")) to_chat(src, span_userdanger("CRITICAL ERROR: ALL modules OFFLINE.")) @@ -211,7 +211,7 @@ inv1.icon_state = initial(inv1.icon_state) disabled_modules &= ~BORG_MODULE_ALL_DISABLED if(builtInCamera) - builtInCamera.status = TRUE + builtInCamera.camera_enabled = TRUE to_chat(src, span_notice("You hear your built in security camera focus adjust as it comes back online!")) if(BORG_CHOOSE_MODULE_TWO) if(!(disabled_modules & BORG_MODULE_TWO_DISABLED)) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index d746a8ad260..9272e63e7ff 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -51,10 +51,10 @@ if(!scrambledcodes && !builtInCamera) builtInCamera = new (src) builtInCamera.c_tag = real_name - builtInCamera.network = list("ss13") + builtInCamera.network = list(CAMERANET_NETWORK_SS13) builtInCamera.internal_light = FALSE if(wires.is_cut(WIRE_CAMERA)) - builtInCamera.status = 0 + builtInCamera.camera_enabled = 0 update_icons() . = ..() diff --git a/code/modules/mob/living/silicon/robot/robot_defines.dm b/code/modules/mob/living/silicon/robot/robot_defines.dm index fa82f0c3395..1a0e0325821 100644 --- a/code/modules/mob/living/silicon/robot/robot_defines.dm +++ b/code/modules/mob/living/silicon/robot/robot_defines.dm @@ -106,6 +106,7 @@ ///Random serial number generated for each cyborg upon its initialization var/ident = 0 var/locked = TRUE + req_one_access = list(ACCESS_ROBOTICS) ///Whether the robot has no charge left. var/low_power_mode = FALSE diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index 00b13473937..60e1820bde3 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -7,7 +7,8 @@ stop_automated_movement = TRUE wander = FALSE damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, STAMINA = 0, OXY = 0) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null + unsuitable_atmos_damage = 0 hud_possible = list(DIAG_STAT_HUD, DIAG_BOT_HUD, DIAG_HUD, DIAG_BATT_HUD, DIAG_PATH_HUD = HUD_LIST_LIST) maxbodytemp = INFINITY minbodytemp = 0 diff --git a/code/modules/mob/living/simple_animal/friendly/gondola.dm b/code/modules/mob/living/simple_animal/friendly/gondola.dm index 80e89dd08d7..a914178d08a 100644 --- a/code/modules/mob/living/simple_animal/friendly/gondola.dm +++ b/code/modules/mob/living/simple_animal/friendly/gondola.dm @@ -22,7 +22,7 @@ icon_living = "gondola" loot = list(/obj/effect/decal/cleanable/blood/gibs, /obj/item/stack/sheet/animalhide/gondola = 1, /obj/item/food/meat/slab/gondola = 1) //Gondolas aren't affected by cold. - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null minbodytemp = 0 maxbodytemp = 1500 maxHealth = 200 diff --git a/code/modules/mob/living/simple_animal/hostile/dark_wizard.dm b/code/modules/mob/living/simple_animal/hostile/dark_wizard.dm index e8a8822a4d3..ca1ae3b70d6 100644 --- a/code/modules/mob/living/simple_animal/hostile/dark_wizard.dm +++ b/code/modules/mob/living/simple_animal/hostile/dark_wizard.dm @@ -29,7 +29,7 @@ weather_immunities = list(TRAIT_LAVA_IMMUNE, TRAIT_ASHSTORM_IMMUNE) minbodytemp = 0 maxbodytemp = INFINITY - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null loot = list(/obj/effect/decal/remains/human) del_on_death = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/_megafauna.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/_megafauna.dm index 0ca55781f9f..cebdfc99de1 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/_megafauna.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/_megafauna.dm @@ -14,7 +14,7 @@ robust_searching = TRUE ranged_ignores_vision = TRUE stat_attack = DEAD - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null damage_coeff = list(BRUTE = 1, BURN = 0.5, TOX = 1, STAMINA = 0, OXY = 1) minbodytemp = 0 maxbodytemp = INFINITY diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index 2911c1b174c..40f7f3abd0d 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -294,6 +294,7 @@ charge_animation() COOLDOWN_START(src, cooldown_timer, cooldown_add) playsound(user, activation_sound, 100, TRUE) + log_game("[src] activated by [key_name(user)] in [AREACOORD(src)]. The last fingerprints on the [src] was [fingerprintslast].") return TRUE /obj/machinery/anomalous_crystal/proc/charge_animation() @@ -317,9 +318,9 @@ ActivationReaction(null, ACTIVATE_BOMB) return TRUE -/obj/machinery/anomalous_crystal/honk //Strips and equips you as a clown. I apologize for nothing - observer_desc = "This crystal strips and equips its targets as clowns." - possible_methods = list(ACTIVATE_MOB_BUMP, ACTIVATE_SPEECH) +/obj/machinery/anomalous_crystal/honk //Revives the dead, but strips and equips them as a clown + observer_desc = "This crystal revives targets around it as clowns. Oh, that's horrible...." + activation_method = ACTIVATE_TOUCH activation_sound = 'sound/items/bikehorn.ogg' use_time = 3 SECONDS /// List of REFs to mobs that have been turned into a clown @@ -329,20 +330,31 @@ . = ..() if(!.) return FALSE + + for(var/atom/thing as anything in range(1, src)) + if(isturf(thing)) + new /obj/effect/decal/cleanable/confetti(thing) + continue - if(!ishuman(user)) - return FALSE - if(!(user in viewers(src))) - return FALSE - var/clown_ref = REF(user) - if(clown_ref in clowned_mob_refs) - return FALSE + if(!ishuman(thing)) + continue - var/mob/living/carbon/human/new_clown = user - for(var/obj/item/to_strip in new_clown.get_equipped_items()) - new_clown.dropItemToGround(to_strip) - new_clown.dress_up_as_job(SSjob.GetJobType(/datum/job/clown)) - clowned_mob_refs += clown_ref + var/mob/living/carbon/human/new_clown = thing + + if(new_clown.stat != DEAD) + continue + + new_clown.revive(ADMIN_HEAL_ALL, force_grab_ghost = TRUE) + + var/clown_ref = REF(new_clown) + if(clown_ref in clowned_mob_refs) //one clowning per person + continue + + for(var/obj/item/to_strip in new_clown.get_equipped_items()) + new_clown.dropItemToGround(to_strip) + new_clown.dress_up_as_job(SSjob.GetJobType(/datum/job/clown)) + clowned_mob_refs += clown_ref + return TRUE /// Transforms the area to look like a new one @@ -402,21 +414,28 @@ /obj/machinery/anomalous_crystal/dark_reprise/ActivationReaction(mob/user, method) . = ..() if(!.) - return + return FALSE + for(var/atom/thing as anything in range(1, src)) if(isturf(thing)) new /obj/effect/temp_visual/cult/sparks(thing) continue - if(ishuman(thing)) - var/mob/living/carbon/human/to_revive = thing - if(to_revive.stat != DEAD) - continue - to_revive.set_species(/datum/species/shadow, TRUE) - to_revive.revive(ADMIN_HEAL_ALL, force_grab_ghost = TRUE) - //Free revives, but significantly limits your options for reviving except via the crystal - //except JK who cares about BADDNA anymore. this even heals suicides. - ADD_TRAIT(to_revive, TRAIT_BADDNA, MAGIC_TRAIT) + if(!ishuman(thing)) + continue + + var/mob/living/carbon/human/to_revive = thing + + if(to_revive.stat != DEAD) + continue + + to_revive.set_species(/datum/species/shadow, TRUE) + to_revive.revive(ADMIN_HEAL_ALL, force_grab_ghost = TRUE) + //Free revives, but significantly limits your options for reviving except via the crystal + //except JK who cares about BADDNA anymore. this even heals suicides. + ADD_TRAIT(to_revive, TRAIT_BADDNA, MAGIC_TRAIT) + + return TRUE /obj/machinery/anomalous_crystal/helpers //Lets ghost spawn as helpful creatures that can only heal people slightly. Incredibly fragile and they can't converse with humans observer_desc = "This crystal allows ghosts to turn into a fragile creature that can heal people." diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm index a1f77098152..78bd8a9c5b6 100644 --- a/code/modules/mob/living/simple_animal/hostile/mimic.dm +++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm @@ -32,7 +32,7 @@ GLOBAL_LIST_INIT(animatable_blacklist, typecacheof(list( speak_emote = list("creaks") taunt_chance = 30 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null minbodytemp = 0 faction = list(FACTION_MIMIC) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm index bf70d660f5a..9999736abf7 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm @@ -1,7 +1,7 @@ //the base mining mob /mob/living/simple_animal/hostile/asteroid vision_range = 2 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null faction = list(FACTION_MINING) weather_immunities = list(TRAIT_LAVA_IMMUNE,TRAIT_ASHSTORM_IMMUNE) obj_damage = 30 diff --git a/code/modules/mob/living/simple_animal/hostile/ooze.dm b/code/modules/mob/living/simple_animal/hostile/ooze.dm index 7e523fdf475..92d15cd05df 100644 --- a/code/modules/mob/living/simple_animal/hostile/ooze.dm +++ b/code/modules/mob/living/simple_animal/hostile/ooze.dm @@ -10,7 +10,7 @@ gender = NEUTER emote_see = list("jiggles", "bounces in place") speak_emote = list("blorbles") - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null hud_type = /datum/hud/ooze minbodytemp = 250 maxbodytemp = INFINITY diff --git a/code/modules/mob/living/simple_animal/hostile/vatbeast.dm b/code/modules/mob/living/simple_animal/hostile/vatbeast.dm index a5dfface811..fb7ac24da65 100644 --- a/code/modules/mob/living/simple_animal/hostile/vatbeast.dm +++ b/code/modules/mob/living/simple_animal/hostile/vatbeast.dm @@ -11,7 +11,7 @@ gender = NEUTER environment_smash = ENVIRONMENT_SMASH_STRUCTURES speak_emote = list("roars") - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null health = 250 maxHealth = 250 damage_coeff = list(BRUTE = 0.7, BURN = 0.7, TOX = 1, STAMINA = 0, OXY = 1) diff --git a/code/modules/mob/living/simple_animal/hostile/zombie.dm b/code/modules/mob/living/simple_animal/hostile/zombie.dm index f16449764de..6bcb7afbd54 100644 --- a/code/modules/mob/living/simple_animal/hostile/zombie.dm +++ b/code/modules/mob/living/simple_animal/hostile/zombie.dm @@ -16,7 +16,7 @@ attack_sound = 'sound/hallucinations/growl1.ogg' attack_vis_effect = ATTACK_EFFECT_BITE combat_mode = TRUE - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null minbodytemp = 0 status_flags = CANPUSH death_message = "collapses, flesh gone in a pile of bones!" diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 0d3ea6e06e2..1c1ea138d23 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -176,7 +176,6 @@ add_traits(weather_immunities, ROUNDSTART_TRAIT) if (environment_smash >= ENVIRONMENT_SMASH_WALLS) AddElement(/datum/element/wall_smasher, strength_flag = environment_smash) - if(speak) speak = string_list(speak) if(speak_emote) @@ -185,8 +184,6 @@ emote_hear = string_list(emote_hear) if(emote_see) emote_see = string_list(emote_hear) - if(atmos_requirements) - atmos_requirements = string_assoc_list(atmos_requirements) if(damage_coeff) damage_coeff = string_assoc_list(damage_coeff) if(footstep_type) @@ -196,6 +193,24 @@ if(isnull(unsuitable_heat_damage)) unsuitable_heat_damage = unsuitable_atmos_damage + ///We need to wait for SSair to be initialized before we can check atmos/temp requirements. + if(PERFORM_ALL_TESTS(focus_only/atmos_and_temp_requirements) && mapload && !SSair.initialized) + RegisterSignal(SSair, COMSIG_SUBSYSTEM_POST_INITIALIZE, PROC_REF(on_ssair_init)) + return + init_atmos_temp_requirement(mapload) + +/mob/living/simple_animal/proc/on_ssair_init(datum/source) + SIGNAL_HANDLER + UnregisterSignal(SSair, COMSIG_SUBSYSTEM_POST_INITIALIZE) + init_atmos_temp_requirement(TRUE) + +/mob/living/simple_animal/proc/init_atmos_temp_requirement(mapload) + if(atmos_requirements && unsuitable_atmos_damage) + atmos_requirements = string_assoc_list(atmos_requirements) + AddElement(/datum/element/atmos_requirements, atmos_requirements, unsuitable_atmos_damage, mapload) + if((unsuitable_cold_damage || unsuitable_heat_damage) && (minbodytemp > 0 || maxbodytemp < INFINITY)) + AddElement(/datum/element/body_temp_sensitive, minbodytemp, maxbodytemp, unsuitable_cold_damage, unsuitable_heat_damage, mapload) + /mob/living/simple_animal/Life(seconds_per_tick = SSMOBS_DT, times_fired) . = ..() if(staminaloss > 0) @@ -302,51 +317,6 @@ else manual_emote(pick(emote_hear)) -/mob/living/simple_animal/proc/environment_air_is_safe() - . = TRUE - - if(pulledby && pulledby.grab_state >= GRAB_KILL && atmos_requirements["min_oxy"]) - . = FALSE //getting choked - - if(isturf(loc) && isopenturf(loc)) - var/turf/open/ST = loc - if(ST.air) - var/ST_gases = ST.air.gases - ST.air.assert_gases(/datum/gas/oxygen, /datum/gas/pluoxium, /datum/gas/nitrogen, /datum/gas/carbon_dioxide, /datum/gas/plasma) - - var/plas = ST_gases[/datum/gas/plasma][MOLES] - var/oxy = ST_gases[/datum/gas/oxygen][MOLES] + (ST_gases[/datum/gas/pluoxium][MOLES] * PLUOXIUM_PROPORTION) - var/n2 = ST_gases[/datum/gas/nitrogen][MOLES] - var/co2 = ST_gases[/datum/gas/carbon_dioxide][MOLES] - - ST.air.garbage_collect() - - if(atmos_requirements["min_oxy"] && oxy < atmos_requirements["min_oxy"]) - . = FALSE - else if(atmos_requirements["max_oxy"] && oxy > atmos_requirements["max_oxy"]) - . = FALSE - else if(atmos_requirements["min_plas"] && plas < atmos_requirements["min_plas"]) - . = FALSE - else if(atmos_requirements["max_plas"] && plas > atmos_requirements["max_plas"]) - . = FALSE - else if(atmos_requirements["min_n2"] && n2 < atmos_requirements["min_n2"]) - . = FALSE - else if(atmos_requirements["max_n2"] && n2 > atmos_requirements["max_n2"]) - . = FALSE - else if(atmos_requirements["min_co2"] && co2 < atmos_requirements["min_co2"]) - . = FALSE - else if(atmos_requirements["max_co2"] && co2 > atmos_requirements["max_co2"]) - . = FALSE - else - if(atmos_requirements["min_oxy"] || atmos_requirements["min_plas"] || atmos_requirements["min_n2"] || atmos_requirements["min_co2"]) - . = FALSE - -/mob/living/simple_animal/proc/environment_temperature_is_safe(datum/gas_mixture/environment) - . = TRUE - var/areatemp = get_temperature(environment) - if((areatemp < minbodytemp) || (areatemp > maxbodytemp)) - . = FALSE - /mob/living/simple_animal/handle_environment(datum/gas_mixture/environment, seconds_per_tick, times_fired) var/atom/A = loc if(isturf(A)) @@ -359,42 +329,6 @@ else adjust_bodytemperature(clamp(temp_delta * seconds_per_tick / temperature_normalization_speed, 0, temp_delta)) - if(!environment_air_is_safe() && unsuitable_atmos_damage) - adjustHealth(unsuitable_atmos_damage * seconds_per_tick) - if(unsuitable_atmos_damage > 0) - throw_alert(ALERT_NOT_ENOUGH_OXYGEN, /atom/movable/screen/alert/not_enough_oxy) - else - clear_alert(ALERT_NOT_ENOUGH_OXYGEN) - - handle_temperature_damage(seconds_per_tick, times_fired) - -/mob/living/simple_animal/proc/handle_temperature_damage(seconds_per_tick, times_fired) - . = FALSE - if((bodytemperature < minbodytemp) && unsuitable_cold_damage) - adjustHealth(unsuitable_cold_damage * seconds_per_tick) - switch(unsuitable_cold_damage) - if(1 to 5) - throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 1) - if(5 to 10) - throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 2) - if(10 to INFINITY) - throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/cold, 3) - . = TRUE - - if((bodytemperature > maxbodytemp) && unsuitable_heat_damage) - adjustHealth(unsuitable_heat_damage * seconds_per_tick) - switch(unsuitable_heat_damage) - if(1 to 5) - throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/hot, 1) - if(5 to 10) - throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/hot, 2) - if(10 to INFINITY) - throw_alert(ALERT_TEMPERATURE, /atom/movable/screen/alert/hot, 3) - . = TRUE - - if(!.) - clear_alert(ALERT_TEMPERATURE) - /mob/living/simple_animal/gib() if(butcher_results || guaranteed_butcher_results) var/list/butcher = list() diff --git a/code/modules/mob/living/simple_animal/slime/ai.dm b/code/modules/mob/living/simple_animal/slime/ai.dm deleted file mode 100644 index 0272a4e467b..00000000000 --- a/code/modules/mob/living/simple_animal/slime/ai.dm +++ /dev/null @@ -1,494 +0,0 @@ -#define SLIME_CARES_ABOUT(to_check) (to_check && (to_check == Target || to_check == Leader || (to_check in Friends))) -#define SLIME_HUNGER_NONE 0 -#define SLIME_HUNGER_HUNGRY 1 -#define SLIME_HUNGER_STARVING 2 - -/mob/living/simple_animal/slime/handle_automated_movement() - return //slime random movement is currently handled in handle_targets() - -/mob/living/simple_animal/slime/handle_automated_speech() - return //slime random speech is currently handled in handle_speech() - -///Handles slime mood -/mob/living/simple_animal/slime/proc/handle_mood(seconds_per_tick, times_fired) - #define SLIME_MOOD_NONE "" - #define SLIME_MOOD_ANGRY "angry" - #define SLIME_MOOD_MISCHIEVOUS "mischievous" - #define SLIME_MOOD_POUT "pout" - #define SLIME_MOOD_SAD "sad" - #define SLIME_MOOD_SMILE ":3" - - var/newmood = SLIME_MOOD_NONE - if (rabid || attacked_stacks) - newmood = SLIME_MOOD_ANGRY - else if (docile) - newmood = SLIME_MOOD_SMILE - else if (Target) - newmood = SLIME_MOOD_MISCHIEVOUS - - if (!newmood) - if (discipline_stacks && SPT_PROB(13, seconds_per_tick)) - newmood = SLIME_MOOD_POUT - else if (SPT_PROB(0.5, seconds_per_tick)) - newmood = pick(SLIME_MOOD_SAD, ":3", SLIME_MOOD_POUT) - - if ((current_mood == SLIME_MOOD_SAD || current_mood == SLIME_MOOD_SMILE || current_mood == SLIME_MOOD_POUT) && !newmood) - if(SPT_PROB(50, seconds_per_tick)) - newmood = current_mood - - if (newmood != current_mood) // This is so we don't redraw them every time - current_mood = newmood - regenerate_icons() - - #undef SLIME_MOOD_NONE - #undef SLIME_MOOD_ANGRY - #undef SLIME_MOOD_MISCHIEVOUS - #undef SLIME_MOOD_POUT - #undef SLIME_MOOD_SAD - #undef SLIME_MOOD_SMILE - -///Handles the slime understanding commends spoken to it -/mob/living/simple_animal/slime/proc/handle_speech(seconds_per_tick, times_fired) - //Speech understanding starts here - var/to_say - if (speech_buffer.len > 0) - var/who = speech_buffer[1] // Who said it? - var/phrase = speech_buffer[2] // What did they say? - if ((findtext(phrase, num2text(slime_id)) || findtext(phrase, "slimes"))) // Talking to us - if (findtext(phrase, "hello") || findtext(phrase, "hi")) - to_say = pick("Hello...", "Hi...") - else if (findtext(phrase, "follow")) - if (Leader) - if (Leader == who) // Already following him - to_say = pick("Yes...", "Lead...", "Follow...") - else if (Friends[who] > Friends[Leader]) // VIVA - set_leader(who) - to_say = "Yes... I follow [who]..." - else - to_say = "No... I follow [Leader]..." - else - if (Friends[who] >= SLIME_FRIENDSHIP_FOLLOW) - set_leader(who) - to_say = "I follow..." - else // Not friendly enough - to_say = pick("No...", "I no follow...") - else if (findtext(phrase, "stop")) - if (buckled) // We are asked to stop feeding - if (Friends[who] >= SLIME_FRIENDSHIP_STOPEAT) - stop_feeding() - set_target(null) - if (Friends[who] < SLIME_FRIENDSHIP_STOPEAT_NOANGRY) - add_friendship(who, -1) - to_say = "Grrr..." // I'm angry but I do it - else - to_say = "Fine..." - else if (Target) // We are asked to stop chasing - if (Friends[who] >= SLIME_FRIENDSHIP_STOPCHASE) - set_target(null) - if (Friends[who] < SLIME_FRIENDSHIP_STOPCHASE_NOANGRY) - add_friendship(who, -1) - to_say = "Grrr..." // I'm angry but I do it - else - to_say = "Fine..." - else if (Leader) // We are asked to stop following - if (Leader == who) - to_say = "Yes... I stay..." - set_leader(null) - else - if (Friends[who] > Friends[Leader]) - set_leader(null) - to_say = "Yes... I stop..." - else - to_say = "No... keep follow..." - else if (findtext(phrase, "stay")) - if (Leader) - if (Leader == who) - holding_still = Friends[who] * 10 - to_say = "Yes... stay..." - else if (Friends[who] > Friends[Leader]) - holding_still = (Friends[who] - Friends[Leader]) * 10 - to_say = "Yes... stay..." - else - to_say = "No... keep follow..." - else - if (Friends[who] >= SLIME_FRIENDSHIP_STAY) - holding_still = Friends[who] * 10 - to_say = "Yes... stay..." - else - to_say = "No... won't stay..." - else if (findtext(phrase, "attack")) - if (rabid && prob(20)) - set_target(who) - process_slime_ai() //Wake up the slime's Target AI, needed otherwise this doesn't work - to_say = "ATTACK!?!?" - else if (Friends[who] >= SLIME_FRIENDSHIP_ATTACK) - for (var/mob/living/possible_target in view(7,src)-list(src,who)) - if (findtext(phrase, lowertext(possible_target.name))) - if (isslime(possible_target)) - to_say = "NO... [possible_target] slime friend" - add_friendship(who, -1) //Don't ask a slime to attack its friend - else if(!Friends[possible_target] || Friends[possible_target] < 1) - set_target(possible_target) - process_slime_ai()//Wake up the slime's Target AI, needed otherwise this doesn't work - to_say = "Ok... I attack [Target]" - else - to_say = "No... like [possible_target] ..." - add_friendship(who, -1) //Don't ask a slime to attack its friend - break - else - to_say = "No... no listen" - - speech_buffer = list() - - //Speech starts here - if (to_say) - say (to_say) - else if(SPT_PROB(0.5, seconds_per_tick)) - emote(pick("bounce","sway","light","vibrate","jiggle")) - else - var/speech_chance = 10 - var/slimes_near = 0 - var/dead_slimes = 0 - var/friends_near = list() - for (var/mob/living/seen_mob in view(7,src)) - if(isslime(seen_mob) && seen_mob != src) - ++slimes_near - if (seen_mob.stat == DEAD) - ++dead_slimes - if (seen_mob in Friends) - speech_chance += 20 - friends_near += seen_mob - if (nutrition < hunger_nutrition) - speech_chance += 10 - if (nutrition < starve_nutrition) - speech_chance += 10 - if (SPT_PROB(1, seconds_per_tick) && prob(speech_chance)) - var/phrases = list() - if (Target) - phrases += "[Target]... look yummy..." - if (nutrition < starve_nutrition) - phrases += "So... hungry..." - phrases += "Very... hungry..." - phrases += "Need... food..." - phrases += "Must... eat..." - else if (nutrition < hunger_nutrition) - phrases += "Hungry..." - phrases += "Where food?" - phrases += "I want to eat..." - phrases += "Rawr..." - phrases += "Blop..." - phrases += "Blorble..." - if (rabid || attacked_stacks) - phrases += "Hrr..." - phrases += "Nhuu..." - phrases += "Unn..." - if (current_mood == ":3") - phrases += "Purr..." - if (attacked_stacks) - phrases += "Grrr..." - if (bodytemperature < T0C) - phrases += "Cold..." - if (bodytemperature < T0C - 30) - phrases += "So... cold..." - phrases += "Very... cold..." - if (bodytemperature < T0C - 50) - phrases += "..." - phrases += "C... c..." - if (buckled) - phrases += "Nom..." - phrases += "Yummy..." - if (powerlevel > 3) - phrases += "Bzzz..." - if (powerlevel > 5) - phrases += "Zap..." - if (powerlevel > 8) - phrases += "Zap... Bzz..." - if (current_mood == "sad") - phrases += "Bored..." - if (slimes_near) - phrases += "Slime friend..." - if (slimes_near > 1) - phrases += "Slime friends..." - if (dead_slimes) - phrases += "What happened?" - if (!slimes_near) - phrases += "Lonely..." - for (var/friend in friends_near) - phrases += "[friend]... friend..." - if (nutrition < hunger_nutrition) - phrases += "[friend]... feed me..." - if(!stat) - say (pick(phrases)) - -///Sets the slime's current attack target -/mob/living/simple_animal/slime/proc/set_target(new_target) - var/old_target = Target - Target = new_target - if(old_target && !SLIME_CARES_ABOUT(old_target)) - UnregisterSignal(old_target, COMSIG_QDELETING) - if(Target) - RegisterSignal(Target, COMSIG_QDELETING, PROC_REF(clear_memories_of), override = TRUE) - -///Sets the person the slime is following around -/mob/living/simple_animal/slime/proc/set_leader(new_leader) - var/old_leader = Leader - Leader = new_leader - if(old_leader && !SLIME_CARES_ABOUT(old_leader)) - UnregisterSignal(old_leader, COMSIG_QDELETING) - if(Leader) - RegisterSignal(Leader, COMSIG_QDELETING, PROC_REF(clear_memories_of), override = TRUE) - -///Alters the friendship value of the target -/mob/living/simple_animal/slime/proc/add_friendship(new_friend, amount = 1) - if(!Friends[new_friend]) - Friends[new_friend] = 0 - Friends[new_friend] += amount - if(new_friend) - RegisterSignal(new_friend, COMSIG_QDELETING, PROC_REF(clear_memories_of), override = TRUE) - -///Sets the friendship value of the target -/mob/living/simple_animal/slime/proc/set_friendship(new_friend, amount = 1) - Friends[new_friend] = amount - if(new_friend) - RegisterSignal(new_friend, COMSIG_QDELETING, PROC_REF(clear_memories_of), override = TRUE) - -///Removes someone from the friendlist -/mob/living/simple_animal/slime/proc/remove_friend(friend) - Friends -= friend - if(friend && !SLIME_CARES_ABOUT(friend)) - UnregisterSignal(friend, COMSIG_QDELETING) - -///Adds someone to the friend list -/mob/living/simple_animal/slime/proc/set_friends(new_buds) - clear_friends() - for(var/mob/friend as anything in new_buds) - set_friendship(friend, new_buds[friend]) - -///Removes everyone from the friend list -/mob/living/simple_animal/slime/proc/clear_friends() - for(var/mob/friend as anything in Friends) - remove_friend(friend) - -///The passed source will be no longer be the slime's target, leader, or one of its friends -/mob/living/simple_animal/slime/proc/clear_memories_of(datum/source) - SIGNAL_HANDLER - if(source == Target) - set_target(null) - if(source == Leader) - set_leader(null) - remove_friend(source) - -///Handles selecting targets -/mob/living/simple_animal/slime/proc/handle_targets(seconds_per_tick, times_fired) - if(attacked_stacks > 50) - attacked_stacks = 50 - - if(attacked_stacks > 0) - attacked_stacks-- - - if(discipline_stacks > 0) - - if(discipline_stacks >= 5 && rabid) - if(SPT_PROB(37, seconds_per_tick)) - rabid = FALSE - - if(SPT_PROB(5, seconds_per_tick)) - discipline_stacks-- - - if(client) //player controlled slimes can decide for themselves - return - - if(!(mobility_flags & MOBILITY_MOVE)) - return - - if(buckled) - return // if it's eating someone already, continue eating! - - if(Target) - --target_patience - if (target_patience <= 0 || stunned_until > world.time || discipline_stacks || attacked_stacks || docile) // Tired of chasing or something draws out attention - target_patience = 0 - set_target(null) - - if(slime_ai_processing && stunned_until > world.time) - return - - var/hungry = SLIME_HUNGER_NONE // determines if the slime is hungry - - if (nutrition < starve_nutrition) - hungry = SLIME_HUNGER_STARVING - else if (nutrition < grow_nutrition && SPT_PROB(13, seconds_per_tick) || nutrition < hunger_nutrition) - hungry = SLIME_HUNGER_HUNGRY - - if(hungry == SLIME_HUNGER_STARVING && !client) // if a slime is starving, it starts losing its friends - if(Friends.len > 0 && SPT_PROB(0.5, seconds_per_tick)) - var/mob/nofriend = pick(Friends) - add_friendship(nofriend, -1) - - if(!Target) //If we have no target, try to add a target - if(will_hunt() && hungry || attacked_stacks || rabid) // Only add to the list if we need to - var/list/targets = list() - - for(var/mob/living/L in view(7,src)) - - if(isslime(L) || L.stat == DEAD) // Ignore other slimes and dead mobs - continue - - if(L in Friends) // No eating friends! - continue - - var/ally = FALSE - for(var/F in faction) - if(F == FACTION_NEUTRAL) //slimes are neutral so other mobs not target them, but they can target neutral mobs - continue - if(F in L.faction) - ally = TRUE - break - if(ally) - continue - - if(issilicon(L) && (rabid || attacked_stacks)) // They can't eat silicons, but they can glomp them in defence - targets += L // Possible target found! - - if(locate(/mob/living/simple_animal/slime) in L.buckled_mobs) // Only one slime can latch on at a time. - continue - - targets += L // Possible target found! - - if(targets.len > 0) - if(attacked_stacks || rabid || hungry == SLIME_HUNGER_STARVING) - set_target(targets[1]) // I am attacked and am fighting back or so hungry I don't even care - else - for(var/mob/living/carbon/C in targets) - if(!discipline_stacks && SPT_PROB(2.5, seconds_per_tick)) - if(ishuman(C) || isalienadult(C)) - set_target(C) - break - - if(islarva(C) || ismonkey(C)) - set_target(C) - break - - if (Target) - target_patience = rand(5, 7) - if (life_stage == SLIME_LIFE_STAGE_ADULT) - target_patience += 3 - - if(!Target) // If we have no target, we are wandering or following orders - if (Leader) - if(holding_still) - holding_still = max(holding_still - (0.5 * seconds_per_tick), 0) - else if(!HAS_TRAIT(src, TRAIT_IMMOBILIZED) && isturf(loc)) - step_to(src, Leader) - - else if(hungry) - if (holding_still) - holding_still = max(holding_still - (0.5 * hungry * seconds_per_tick), 0) - else if(!HAS_TRAIT(src, TRAIT_IMMOBILIZED) && isturf(loc) && prob(50)) - step(src, pick(GLOB.cardinals)) - - else - if(holding_still) - holding_still = max(holding_still - (0.5 * seconds_per_tick), 0) - else if (docile && pulledby) - holding_still = 10 - else if(!HAS_TRAIT(src, TRAIT_IMMOBILIZED) && isturf(loc) && prob(33)) - step(src, pick(GLOB.cardinals)) - else if(!slime_ai_processing) - INVOKE_ASYNC(src, PROC_REF(process_slime_ai)) - -/// Check for being stopped from feeding and chasing -/mob/living/simple_animal/slime/proc/will_hunt(hunger = -1) - if (docile) - return FALSE - if (hunger == SLIME_HUNGER_STARVING || rabid || attacked_stacks) - return TRUE - if (Leader) - return FALSE - if (holding_still) - return FALSE - return TRUE - -/// the master AI process -/mob/living/simple_animal/slime/proc/process_slime_ai() - - if(slime_ai_processing || stat || client) - return - - var/hungry = SLIME_HUNGER_NONE - if (nutrition < starve_nutrition) - hungry = SLIME_HUNGER_STARVING - else if (nutrition < grow_nutrition && prob(25) || nutrition < hunger_nutrition) - hungry = SLIME_HUNGER_HUNGRY - - slime_ai_processing = TRUE - - while(slime_ai_processing && stat != DEAD && (attacked_stacks || hungry || rabid || buckled)) - if(!(mobility_flags & MOBILITY_MOVE)) //also covers buckling. Not sure why buckled is in the while condition if we're going to immediately break, honestly - break - - if(!Target || client) - break - - if(Target.health <= -70 || Target.stat == DEAD) - set_target(null) - slime_ai_processing = FALSE - break - - if(Target) - if(locate(/mob/living/simple_animal/slime) in Target.buckled_mobs) - set_target(null) - slime_ai_processing = FALSE - break - if(!slime_ai_processing) - break - - if(Target in view(1,src)) - if(!can_feed_on(Target)) //If they're not able to be fed upon, ignore them. - if(!is_attack_on_cooldown) - is_attack_on_cooldown = TRUE - addtimer(VARSET_CALLBACK(src, is_attack_on_cooldown, FALSE), 4.5 SECONDS) - - if(Target.Adjacent(src)) - Target.attack_animal(src) - break - if((Target.body_position == STANDING_UP) && prob(80)) - - if(Target.client && Target.health >= 20) - if(!is_attack_on_cooldown) - is_attack_on_cooldown = TRUE - addtimer(VARSET_CALLBACK(src, is_attack_on_cooldown, FALSE), 4.5 SECONDS) - - if(Target.Adjacent(src)) - Target.attack_animal(src) - - else - if(!is_attack_on_cooldown && Target.Adjacent(src)) - start_feeding(Target) - - else - if(!is_attack_on_cooldown && Target.Adjacent(src)) - start_feeding(Target) - - else if(Target in view(7, src)) - if(!Target.Adjacent(src)) - // Bug of the month candidate: slimes were attempting to move to target only if it was directly next to them, which caused them to target things, but not approach them - step_to(src, Target) - else - set_target(null) - slime_ai_processing = FALSE - break - - var/sleeptime = cached_multiplicative_slowdown - if(sleeptime <= 0) - sleeptime = 1 - - sleep(sleeptime + 2) // this is about as fast as a player slime can go - - slime_ai_processing = FALSE - -#undef SLIME_CARES_ABOUT - -#undef SLIME_HUNGER_NONE -#undef SLIME_HUNGER_HUNGRY -#undef SLIME_HUNGER_STARVING diff --git a/code/modules/mob/living/simple_animal/slime/defense.dm b/code/modules/mob/living/simple_animal/slime/defense.dm deleted file mode 100644 index dd94e4e2bab..00000000000 --- a/code/modules/mob/living/simple_animal/slime/defense.dm +++ /dev/null @@ -1,131 +0,0 @@ - -/mob/living/simple_animal/slime/adjustFireLoss(amount, updating_health = TRUE, forced = FALSE, required_bodytype) - if(!forced) - amount = -abs(amount) - return ..() //Heals them - -/mob/living/simple_animal/slime/emp_act(severity) - . = ..() - if(. & EMP_PROTECT_SELF) - return - powerlevel = 0 // oh no, the power! - -/mob/living/simple_animal/slime/attack_animal(mob/living/simple_animal/user, list/modifiers) - . = ..() - if(.) - attacked_stacks += 10 - -/mob/living/simple_animal/slime/attack_paw(mob/living/carbon/human/user, list/modifiers) - if(..()) //successful monkey bite. - attacked_stacks += 10 - -/mob/living/simple_animal/slime/attack_larva(mob/living/carbon/alien/larva/L, list/modifiers) - if(..()) //successful larva bite. - attacked_stacks += 10 - -/mob/living/simple_animal/slime/attack_hulk(mob/living/carbon/human/user) - . = ..() - if(!.) - return - discipline_slime(user) - -/mob/living/simple_animal/slime/attack_hand(mob/living/carbon/human/user, list/modifiers) - if(buckled) - user.do_attack_animation(src, ATTACK_EFFECT_DISARM) - if(buckled == user) - if(prob(60)) - user.visible_message(span_warning("[user] attempts to wrestle \the [name] off!"), \ - span_danger("You attempt to wrestle \the [name] off!")) - playsound(loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) - - else - user.visible_message(span_warning("[user] manages to wrestle \the [name] off!"), \ - span_notice("You manage to wrestle \the [name] off!")) - playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) - - discipline_slime(user) - - else - if(prob(30)) - buckled.visible_message(span_warning("[user] attempts to wrestle \the [name] off of [buckled]!"), \ - span_warning("[user] attempts to wrestle \the [name] off of you!")) - playsound(loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) - - else - buckled.visible_message(span_warning("[user] manages to wrestle \the [name] off of [buckled]!"), \ - span_notice("[user] manage to wrestle \the [name] off of you!")) - playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) - - discipline_slime(user) - else - if(stat == DEAD && surgeries.len) - if(!user.combat_mode || LAZYACCESS(modifiers, RIGHT_CLICK)) - for(var/datum/surgery/operations as anything in surgeries) - if(operations.next_step(user, modifiers)) - return TRUE - if(..()) //successful attack - attacked_stacks += 10 - -/mob/living/simple_animal/slime/attack_alien(mob/living/carbon/alien/adult/user, list/modifiers) - if(..()) //if harm or disarm intent. - attacked_stacks += 10 - discipline_slime(user) - -/mob/living/simple_animal/slime/attackby(obj/item/attacking_item, mob/living/user, params) - if(stat == DEAD && surgeries.len) - var/list/modifiers = params2list(params) - if(!user.combat_mode || (LAZYACCESS(modifiers, RIGHT_CLICK))) - for(var/datum/surgery/operations as anything in surgeries) - if(operations.next_step(user, modifiers)) - return TRUE - if(istype(attacking_item, /obj/item/stack/sheet/mineral/plasma) && !stat) //Lets you feed slimes plasma. - add_friendship(user, 1) - to_chat(user, span_notice("You feed the slime the plasma. It chirps happily.")) - var/obj/item/stack/sheet/mineral/plasma/sheet = attacking_item - sheet.use(1) - return - if(attacking_item.force > 0) - attacked_stacks += 10 - if(prob(25)) - user.do_attack_animation(src) - user.changeNext_move(CLICK_CD_MELEE) - to_chat(user, span_danger("[attacking_item] passes right through [src]!")) - return - if(discipline_stacks && prob(50)) // wow, buddy, why am I getting attacked?? - discipline_stacks = 0 - if(attacking_item.force >= 3) - var/force_effect = attacking_item.force * (life_stage == SLIME_LIFE_STAGE_BABY ? 2 : 1) - if(prob(10 + force_effect)) - discipline_slime(user) - - if(!istype(attacking_item, /obj/item/storage/bag/xeno)) - return ..() - - var/obj/item/storage/xeno_bag = attacking_item - if(!crossbreed_modification) - to_chat(user, span_warning("The slime is not currently being mutated.")) - return - var/has_output = FALSE //Have we outputted text? - var/has_found = FALSE //Have we found an extract to be added? - for(var/obj/item/slime_extract/extract in xeno_bag.contents) - if(extract.crossbreed_modification == crossbreed_modification) - xeno_bag.atom_storage.attempt_remove(extract, get_turf(src), silent = TRUE) - qdel(extract) - applied_crossbreed_amount++ - has_found = TRUE - if(applied_crossbreed_amount >= SLIME_EXTRACT_CROSSING_REQUIRED) - to_chat(user, span_notice("You feed the slime as many of the extracts from the bag as you can, and it mutates!")) - playsound(src, 'sound/effects/attackblob.ogg', 50, TRUE) - spawn_corecross() - has_output = TRUE - break - - if(has_output) - return - - if(!has_found) - to_chat(user, span_warning("There are no extracts in the bag that this slime will accept!")) - else - to_chat(user, span_notice("You feed the slime some extracts from the bag.")) - playsound(src, 'sound/effects/attackblob.ogg', 50, TRUE) - return diff --git a/code/modules/mob/living/simple_animal/slime/life.dm b/code/modules/mob/living/simple_animal/slime/life.dm deleted file mode 100644 index be158abaed5..00000000000 --- a/code/modules/mob/living/simple_animal/slime/life.dm +++ /dev/null @@ -1,181 +0,0 @@ - - -/mob/living/simple_animal/slime/Life(seconds_per_tick = SSMOBS_DT, times_fired) - if(HAS_TRAIT(src, TRAIT_NO_TRANSFORM)) - return - . = ..() - if(!.) - return - - // We get some passive bruteloss healing if we're not dead - if(stat != DEAD && SPT_PROB(16, seconds_per_tick)) - adjustBruteLoss(-0.5 * seconds_per_tick) - if(ismob(buckled)) - handle_feeding(seconds_per_tick, times_fired) - if(stat != CONSCIOUS) // Slimes in stasis don't lose nutrition, don't change mood and don't respond to speech - return - handle_nutrition(seconds_per_tick, times_fired) - if(QDELETED(src)) // Stop if the slime split during handle_nutrition() - return - handle_targets(seconds_per_tick, times_fired) - if(ckey) - return - handle_mood(seconds_per_tick, times_fired) - handle_speech(seconds_per_tick, times_fired) - - -// Unlike most of the simple animals, slimes support UNCONSCIOUS. This is an ugly hack. -/mob/living/simple_animal/slime/update_stat() - switch(stat) - if(UNCONSCIOUS, HARD_CRIT) - if(health > 0) - return - return ..() - -/mob/living/simple_animal/slime/handle_environment(datum/gas_mixture/environment, seconds_per_tick, times_fired) - var/loc_temp = get_temperature(environment) - var/divisor = 10 /// The divisor controls how fast body temperature changes, lower causes faster changes - - var/temp_delta = loc_temp - bodytemperature - if(abs(temp_delta) > 50) // If the difference is great, reduce the divisor for faster stabilization - divisor = 5 - - if(temp_delta < 0) // It is cold here - if(!on_fire) // Do not reduce body temp when on fire - adjust_bodytemperature(clamp((temp_delta / divisor) * seconds_per_tick, temp_delta, 0)) - else // This is a hot place - adjust_bodytemperature(clamp((temp_delta / divisor) * seconds_per_tick, 0, temp_delta)) - - if(bodytemperature < (T0C + 5)) // start calculating temperature damage etc - if(bodytemperature <= (T0C - 40)) // stun temperature - ADD_TRAIT(src, TRAIT_IMMOBILIZED, SLIME_COLD) - else - REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, SLIME_COLD) - - if(bodytemperature <= (T0C - 50)) // hurt temperature - if(bodytemperature <= 50) // sqrting negative numbers is bad - adjustBruteLoss(100 * seconds_per_tick) - else - adjustBruteLoss(round(sqrt(bodytemperature)) * seconds_per_tick) - else - REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, SLIME_COLD) - - if(stat != DEAD) - var/bz_percentage =0 - if(environment.gases[/datum/gas/bz]) - bz_percentage = environment.gases[/datum/gas/bz][MOLES] / environment.total_moles() - var/stasis = (bz_percentage >= 0.05 && bodytemperature < (T0C + 100)) || force_stasis - - switch(stat) - if(CONSCIOUS) - if(stasis) - to_chat(src, span_danger("Nerve gas in the air has put you in stasis!")) - set_stat(UNCONSCIOUS) - powerlevel = 0 - rabid = FALSE - regenerate_icons() - if(UNCONSCIOUS, HARD_CRIT) - if(!stasis) - to_chat(src, span_notice("You wake up from the stasis.")) - set_stat(CONSCIOUS) - regenerate_icons() - - updatehealth() - -///Handles the slime draining the target it is attached to -/mob/living/simple_animal/slime/proc/handle_feeding(seconds_per_tick, times_fired) - var/mob/living/prey = buckled - - if(stat) - stop_feeding(silent = TRUE) - - if(prey.stat == DEAD) // our victim died - if(!client) - if(!rabid && !attacked_stacks) - var/mob/last_to_hurt = prey.LAssailant?.resolve() - if(last_to_hurt && last_to_hurt != prey) - if(SPT_PROB(30, seconds_per_tick)) - add_friendship(last_to_hurt, 1) - else - to_chat(src, "This subject does not have a strong enough life energy anymore...") - - if(prey.client && ishuman(prey)) - if(SPT_PROB(61, seconds_per_tick)) - rabid = TRUE //we go rabid after finishing to feed on a human with a client. - - stop_feeding() - return - - if(iscarbon(prey)) - prey.adjustBruteLoss(rand(2, 4) * 0.5 * seconds_per_tick) - prey.adjustToxLoss(rand(1, 2) * 0.5 * seconds_per_tick) - - if(SPT_PROB(5, seconds_per_tick) && prey.client) - to_chat(prey, "[pick("You can feel your body becoming weak!", \ - "You feel like you're about to die!", \ - "You feel every part of your body screaming in agony!", \ - "A low, rolling pain passes through your body!", \ - "Your body feels as if it's falling apart!", \ - "You feel extremely weak!", \ - "A sharp, deep pain bathes every inch of your body!")]") - - else if(isanimal_or_basicmob(prey)) - var/mob/living/animal_victim = prey - - var/totaldamage = 0 //total damage done to this unfortunate animal - var/need_mob_update - need_mob_update = totaldamage += animal_victim.adjustBruteLoss(rand(2, 4) * 0.5 * seconds_per_tick, updating_health = FALSE) - need_mob_update += totaldamage += animal_victim.adjustToxLoss(rand(1, 2) * 0.5 * seconds_per_tick, updating_health = FALSE) - if(need_mob_update) - animal_victim.updatehealth() - - if(totaldamage >= 0) // AdjustBruteLoss returns a negative value on succesful damage adjustment - stop_feeding(FALSE, FALSE) - return - - else - stop_feeding(FALSE, FALSE) - return - - add_nutrition((rand(7, 15) * 0.5 * seconds_per_tick * CONFIG_GET(number/damage_multiplier))) - - //Heal yourself. - adjustBruteLoss(-1.5 * seconds_per_tick) - -///Handles the slime's nutirion level -/mob/living/simple_animal/slime/proc/handle_nutrition(seconds_per_tick, times_fired) - - if(docile) //God as my witness, I will never go hungry again - set_nutrition(700) //fuck you for using the base nutrition var - return - - if(SPT_PROB(7.5, seconds_per_tick)) - adjust_nutrition((life_stage == SLIME_LIFE_STAGE_ADULT ? -1 : -0.5) * seconds_per_tick) - - if(nutrition <= 0) - set_nutrition(0) - if(SPT_PROB(50, seconds_per_tick)) - adjustBruteLoss(rand(0,5)) - - else if (nutrition >= grow_nutrition && amount_grown < SLIME_EVOLUTION_THRESHOLD) - adjust_nutrition(-10 * seconds_per_tick) - amount_grown++ - update_mob_action_buttons() - - if(amount_grown >= SLIME_EVOLUTION_THRESHOLD && !buckled && !Target && !ckey) - if(life_stage == SLIME_LIFE_STAGE_ADULT && loc.AllowDrop()) - Reproduce() - else - Evolve() - -///Adds nutrition to the slime's nutrition level. Has a chance to increase its electric levels. -/mob/living/simple_animal/slime/proc/add_nutrition(nutrition_to_add = 0) - set_nutrition(min((nutrition + nutrition_to_add), max_nutrition)) - if(nutrition >= grow_nutrition) - if(powerlevel= hunger_nutrition + 100) //can't get power levels unless you're a bit above hunger level. - if(powerlevel= SLIME_EVOLUTION_THRESHOLD) - return TRUE - return FALSE - return TRUE - -/mob/living/simple_animal/slime/verb/Feed() - set category = "Slime" - set desc = "This will let you feed on any valid creature in the surrounding area. This should also be used to halt the feeding process." - - if(stat) - return FALSE - - if(buckled) - stop_feeding() - return TRUE - - var/list/choices = list() - for(var/mob/living/nearby_mob in view(1,src)) - if(nearby_mob != src && Adjacent(nearby_mob) && nearby_mob.appears_alive()) - choices += nearby_mob - - if(length(choices) == 1) - start_feeding(choices[1]) - return TRUE - - var/choice = tgui_input_list(src, "Who do you wish to feed on?", "Slime Feed", sort_names(choices)) - if(isnull(choice)) - return FALSE - var/mob/living/victim = choice - if(can_feed_on(victim)) - start_feeding(victim) - return TRUE - return FALSE - -/datum/action/innate/slime/feed - name = "Feed" - button_icon_state = "slimeeat" - - -/datum/action/innate/slime/feed/Activate() - var/mob/living/simple_animal/slime/slime_owner = owner - slime_owner.Feed() - -///Can the slime leech life energy from the target? -/mob/living/simple_animal/slime/proc/can_feed_on(mob/living/meal, silent = FALSE) - if(!Adjacent(meal)) - return FALSE - - if(buckled) - stop_feeding() - return FALSE - - if(issilicon(meal) || meal.mob_biotypes & MOB_ROBOTIC) - return FALSE - - if(meal.flags_1 & HOLOGRAM_1) - meal.balloon_alert(src, "no life energy!") - return FALSE - - if(isanimal(meal)) - var/mob/living/simple_animal/simple_meal = meal - if(simple_meal.damage_coeff[TOX] <= 0 && simple_meal.damage_coeff[BRUTE] <= 0) //The creature wouldn't take any damage, it must be too weird even for us. - if(silent) - return FALSE - to_chat(src, "[pick("This subject is incompatible", \ - "This subject does not have life energy", "This subject is empty", \ - "I am not satisified", "I can not feed from this subject", \ - "I do not feel nourished", "This subject is not food")]!") - return FALSE - else if(isbasicmob(meal)) - var/mob/living/basic/basic_meal = meal - if(basic_meal.damage_coeff[TOX] <= 0 && basic_meal.damage_coeff[BRUTE] <= 0) - if (silent) - return FALSE - to_chat(src, "[pick("This subject is incompatible", \ - "This subject does not have life energy", "This subject is empty", \ - "I am not satisified", "I can not feed from this subject", \ - "I do not feel nourished", "This subject is not food")]!") - return FALSE - - if(isslime(meal)) - if(silent) - return FALSE - to_chat(src, span_warning("I can't latch onto another slime...")) - return FALSE - - if(docile) - if(silent) - return FALSE - to_chat(src, span_notice("I'm not hungry anymore...")) - return FALSE - - if(stat) - if(silent) - return FALSE - to_chat(src, span_warning("I must be conscious to do this...")) - return FALSE - - if(meal.stat == DEAD) - if(silent) - return FALSE - to_chat(src, span_warning("This subject does not have a strong enough life energy...")) - return FALSE - - if(locate(/mob/living/simple_animal/slime) in meal.buckled_mobs) - if(silent) - return FALSE - to_chat(src, span_warning("Another slime is already feeding on this subject...")) - return FALSE - return TRUE - -///The slime will start feeding on the target -/mob/living/simple_animal/slime/proc/start_feeding(mob/living/target_mob) - target_mob.unbuckle_all_mobs(force=TRUE) //Slimes rip other mobs (eg: shoulder parrots) off (Slimes Vs Slimes is already handled in can_feed_on()) - if(target_mob.buckle_mob(src, force=TRUE)) - layer = target_mob.layer+0.01 //appear above the target mob - target_mob.visible_message(span_danger("[name] latches onto [target_mob]!"), \ - span_userdanger("[name] latches onto [target_mob]!")) - else - to_chat(src, span_warning("I have failed to latch onto the subject!")) - -///The slime will stop feeding -/mob/living/simple_animal/slime/proc/stop_feeding(silent = FALSE, living=TRUE) - if(!buckled) - return - - if(!living) - to_chat(src, "[pick("This subject is incompatible", \ - "This subject does not have life energy", "This subject is empty", \ - "I am not satisified", "I can not feed from this subject", \ - "I do not feel nourished", "This subject is not food")]!") - - var/mob/living/victim = buckled - - if(istype(victim)) - var/bio_protection = 100 - victim.getarmor(null, BIO) - if(prob(bio_protection)) - victim.apply_status_effect(/datum/status_effect/slimed, slime_type.rgb_code, slime_type.colour == SLIME_TYPE_RAINBOW) - - if(!silent) - visible_message(span_warning("[src] lets go of [buckled]!"), \ - span_notice("I stopped feeding.")) - layer = initial(layer) - buckled.unbuckle_mob(src,force=TRUE) - -/mob/living/simple_animal/slime/verb/Evolve() - set category = "Slime" - set desc = "This will let you evolve from baby to adult slime." - - if(stat) - to_chat(src, "I must be conscious to do this...") - return - if(life_stage == SLIME_LIFE_STAGE_ADULT) - to_chat(src, "I have already evolved...") - return - if(amount_grown < SLIME_EVOLUTION_THRESHOLD) - to_chat(src, "I am not ready to evolve yet...") - return - - set_life_stage(SLIME_LIFE_STAGE_ADULT) - amount_grown = 0 - - regenerate_icons() - update_name() - -/datum/action/innate/slime/evolve - name = "Evolve" - button_icon_state = "slimegrow" - needs_growth = GROWTH_NEEDED - -/datum/action/innate/slime/evolve/Activate() - var/mob/living/simple_animal/slime/slime_owner = owner - slime_owner.Evolve() - -/mob/living/simple_animal/slime/verb/Reproduce() - set category = "Slime" - set desc = "This will make you split into four slimes." - - if(stat != CONSCIOUS) - balloon_alert(src, "need to be conscious to split!") - return - - if(!isopenturf(loc)) - balloon_alert(src, "can't reproduce here!") - - if(life_stage != SLIME_LIFE_STAGE_ADULT) - balloon_alert(src, "not old enough to reproduce!") - return - - if(amount_grown < SLIME_EVOLUTION_THRESHOLD) - to_chat(src, "I need to grow myself more before I can reproduce...") - return - - var/list/babies = list() - var/new_nutrition = round(nutrition * 0.9) - var/new_powerlevel = round(powerlevel / 4) - var/turf/drop_loc = drop_location() - - for(var/i in 1 to 4) - var/child_colour - - if(mutation_chance >= 100) - child_colour = /datum/slime_type/rainbow - else if(prob(mutation_chance)) - child_colour = pick_weight(slime_type.mutations) - else - child_colour = slime_type.type - - var/mob/living/simple_animal/slime/baby - baby = new(drop_loc, child_colour) - - if(ckey) - baby.set_nutrition(new_nutrition) //Player slimes are more robust at spliting. Once an oversight of poor copypasta, now a feature! - - baby.powerlevel = new_powerlevel - if(i != 1) - step_away(baby, src) - - baby.set_friends(Friends) - babies += baby - baby.mutation_chance = clamp(mutation_chance+(rand(5,-5)),0,100) - SSblackbox.record_feedback("tally", "slime_babies_born", 1, baby.slime_type.colour) - - var/mob/living/simple_animal/slime/new_slime = pick(babies) // slime that the OG slime will move into. - new_slime.set_combat_mode(TRUE) - - if(isnull(src.mind)) - new_slime.key = src.key - else - src.mind.transfer_to(new_slime) - - qdel(src) - -/datum/action/innate/slime/reproduce - name = "Reproduce" - button_icon_state = "slimesplit" - needs_growth = GROWTH_NEEDED - -/datum/action/innate/slime/reproduce/Activate() - var/mob/living/simple_animal/slime/slime_owner = owner - slime_owner.Reproduce() - -#undef SIZE_DOESNT_MATTER -#undef BABIES_ONLY -#undef ADULTS_ONLY -#undef NO_GROWTH_NEEDED -#undef GROWTH_NEEDED diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm deleted file mode 100644 index 4903827a55d..00000000000 --- a/code/modules/mob/living/simple_animal/slime/slime.dm +++ /dev/null @@ -1,473 +0,0 @@ -#define SLIME_EXTRA_SHOCK_COST 3 -#define SLIME_EXTRA_SHOCK_THRESHOLD 8 -#define SLIME_BASE_SHOCK_PERCENTAGE 10 -#define SLIME_SHOCK_PERCENTAGE_PER_LEVEL 7 - -/mob/living/simple_animal/slime - name = "grey baby slime (123)" - icon = 'icons/mob/simple/slimes.dmi' - icon_state = "grey baby slime" - pass_flags = PASSTABLE | PASSGRILLE - gender = NEUTER - faction = list(FACTION_SLIME, FACTION_NEUTRAL) - - harm_intent_damage = 5 - icon_living = "grey baby slime" - icon_dead = "grey baby slime dead" - attack_verb_simple = "glomp" - attack_verb_continuous = "glomps" - response_help_continuous = "pets" - response_help_simple = "pet" - response_disarm_continuous = "shoos" - response_disarm_simple = "shoo" - response_harm_continuous = "stomps on" - response_harm_simple = "stomp on" - emote_see = list("jiggles", "bounces in place") - speak_emote = list("blorbles") - bubble_icon = "slime" - initial_language_holder = /datum/language_holder/slime - - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - - maxHealth = 150 - health = 150 - mob_biotypes = MOB_SLIME - melee_damage_lower = 5 - melee_damage_upper = 25 - wound_bonus = -45 - can_buckle_to = FALSE - - verb_say = "blorbles" - verb_ask = "inquisitively blorbles" - verb_exclaim = "loudly blorbles" - verb_yell = "loudly blorbles" - - // canstun and canknockdown don't affect slimes because they ignore stun and knockdown variables - // for the sake of cleanliness, though, here they are. - status_flags = CANUNCONSCIOUS|CANPUSH - - footstep_type = FOOTSTEP_MOB_SLIME - - //Physiology - - ///What is our current lifestage? - var/life_stage = SLIME_LIFE_STAGE_BABY - - ///The number of /obj/item/slime_extract's the slime has left inside - var/cores = 1 - ///Chance of mutating, should be between 25 and 35 - var/mutation_chance = 30 - ///1-10 controls how much electricity they are generating - var/powerlevel = SLIME_MIN_POWER - ///Controls how long the slime has been overfed, if 10, grows or reproduces - var/amount_grown = 0 - ///The maximum amount of nutrition a slime can contain - var/max_nutrition = 1000 - /// Above it we grow our amount_grown and our power_level, below it we can eat - var/grow_nutrition = 800 - /// Below this, we feel hungry - var/hunger_nutrition = 500 - /// Below this, we feel starving - var/starve_nutrition = 200 - - ///Has a mutator been used on the slime? Only one is allowed - var/mutator_used = FALSE - ///Is the slime forced into being immobile, despite the gases present? - var/force_stasis = FALSE - - //The datum that handles the slime colour's core and possible mutations - var/datum/slime_type/slime_type - - //CORE-CROSSING CODE - - ///What cross core modification is being used. - var/crossbreed_modification - ///How many extracts of the modtype have been applied. - var/applied_crossbreed_amount = 0 - - //AI related traits - - ///The current mood of the slime, set randomly or through emotes (if sentient). - var/current_mood - - ///Determines if the AI loop is activated - var/slime_ai_processing = FALSE - ///Attack cooldown - var/is_attack_on_cooldown = FALSE - ///If a slime has been hit with a freeze gun, or wrestled/attacked off a human, they become disciplined and don't attack anymore for a while - var/discipline_stacks = 0 - ///Stored the world time when the slime's stun wears off - var/stunned_until = 0 - - ///Is the slime docile? - var/docile = FALSE - - ///Used to understand when someone is talking to it - var/slime_id = 0 - ///AI variable - tells the slime to hunt this down - var/mob/living/Target = null - ///AI variable - tells the slime to follow this person - var/mob/living/Leader = null - - ///Determines if it's been attacked recently. Can be any number, is a cooloff-ish variable - var/attacked_stacks = 0 - ///If set to 1, the slime will attack and eat anything it comes in contact with - var/rabid = FALSE - ///AI variable, cooloff-ish for how long it's going to stay in one place - var/holding_still = 0 - ///AI variable, cooloff-ish for how long it's going to follow its target - var/target_patience = 0 - ///A list of friends; they are not considered targets for feeding; passed down after splitting - var/list/Friends = list() - ///Last phrase said near it and person who said it - var/list/speech_buffer = list() - -/mob/living/simple_animal/slime/Initialize(mapload, new_type=/datum/slime_type/grey, new_life_stage=SLIME_LIFE_STAGE_BABY) - var/datum/action/innate/slime/feed/feeding_action = new - feeding_action.Grant(src) - - set_life_stage(new_life_stage) - - set_slime_type(new_type) - . = ..() - set_nutrition(700) - - AddElement(/datum/element/soft_landing) - AddElement(/datum/element/swabable, CELL_LINE_TABLE_SLIME, CELL_VIRUS_TABLE_GENERIC_MOB, 1, 5) - ADD_TRAIT(src, TRAIT_CANT_RIDE, INNATE_TRAIT) - ADD_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT) - - RegisterSignal(src, COMSIG_LIVING_UNARMED_ATTACK, PROC_REF(slime_pre_attack)) - -/mob/living/simple_animal/slime/Destroy() - for (var/A in actions) - var/datum/action/AC = A - AC.Remove(src) - set_target(null) - set_leader(null) - clear_friends() - return ..() - -///Random slime subtype -/mob/living/simple_animal/slime/random/Initialize(mapload, new_colour, new_life_stage) - . = ..(mapload, pick(subtypesof(/datum/slime_type)), prob(50) ? SLIME_LIFE_STAGE_ADULT : SLIME_LIFE_STAGE_BABY) - -///Friendly docile subtype -/mob/living/simple_animal/slime/pet - docile = TRUE - -/mob/living/simple_animal/slime/update_name() - ///Checks if the slime has a generic name, in the format of baby/adult slime (123) - var/static/regex/slime_name_regex = new("\\w+ (baby|adult) slime \\(\\d+\\)") - if(slime_name_regex.Find(name)) - slime_id = rand(1, 1000) - name = "[slime_type.colour] [life_stage] slime ([slime_id])" - real_name = name - return ..() - -/mob/living/simple_animal/slime/regenerate_icons() - cut_overlays() - var/icon_text = "[slime_type.colour] [life_stage] slime" - icon_dead = "[icon_text] dead" - if(stat != DEAD) - icon_state = icon_text - if(current_mood && !stat) - add_overlay("aslime-[current_mood]") - else - icon_state = icon_dead - ..() - -/mob/living/simple_animal/slime/updatehealth() - . = ..() - var/mod = 0 - if(!HAS_TRAIT(src, TRAIT_IGNOREDAMAGESLOWDOWN)) - var/health_deficiency = (maxHealth - health) - if(health_deficiency >= 45) - mod += (health_deficiency / 25) - if(health <= 0) - mod += 2 - add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/slime_healthmod, multiplicative_slowdown = mod) - -/mob/living/simple_animal/slime/adjust_bodytemperature() - . = ..() - var/mod = 0 - if(bodytemperature >= 330.23) // 135 F or 57.08 C - mod = -1 // slimes become supercharged at high temperatures - else if(bodytemperature < 283.222) - mod = ((283.222 - bodytemperature) / 10) * 1.75 - if(mod) - add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/slime_tempmod, multiplicative_slowdown = mod) - -/mob/living/simple_animal/slime/ObjBump(obj/bumped_object) - if(client || powerlevel <= SLIME_MIN_POWER) // slimes with people in control can't accidentally attack - return - - if (life_stage != SLIME_LIFE_STAGE_ADULT && !prob(5)) //its rare for baby slimes to actually damage windows - return - - var/accidental_attack_probability = 10 - switch(powerlevel) - if(1 to 2) - accidental_attack_probability = 20 - if(3 to 4) - accidental_attack_probability = 30 - if(5 to 6) - accidental_attack_probability = 40 - if(7 to 8) - accidental_attack_probability = 60 - if(9) - accidental_attack_probability = 70 - if(10) - accidental_attack_probability = 95 - if(!prob(accidental_attack_probability)) - return - - if(!istype(bumped_object, /obj/structure/window) && !istype(bumped_object, /obj/structure/grille)) - return - - if(nutrition > hunger_nutrition || is_attack_on_cooldown) //hungry slimes and slimes on cooldown will not attack - return - - bumped_object.attack_animal(src) - is_attack_on_cooldown = TRUE - addtimer(VARSET_CALLBACK(src, is_attack_on_cooldown, FALSE), 4.5 SECONDS) - -/mob/living/simple_animal/slime/get_status_tab_items() - . = ..() - if(!docile) - . += "Nutrition: [nutrition]/[max_nutrition]" - if(amount_grown >= SLIME_EVOLUTION_THRESHOLD) - if(life_stage == SLIME_LIFE_STAGE_ADULT) - . += "You can reproduce!" - else - . += "You can evolve!" - - switch(stat) - if(HARD_CRIT, UNCONSCIOUS) - . += "You are knocked out by high levels of BZ!" - else - . += "Power Level: [powerlevel]" - - -/mob/living/simple_animal/slime/MouseDrop(atom/movable/target_atom as mob|obj) - if(isliving(target_atom) && target_atom != src && usr == src) - var/mob/living/Food = target_atom - if(can_feed_on(Food)) - start_feeding(Food) - return ..() - -/mob/living/simple_animal/slime/doUnEquip(obj/item/unequipped_item, force, newloc, no_move, invdrop = TRUE, silent = FALSE) - return - -/mob/living/simple_animal/slime/start_pulling(atom/movable/moveable_atom, state, force = move_force, supress_message = FALSE) - return - -/mob/living/simple_animal/slime/attack_ui(slot, params) - return - -/mob/living/simple_animal/slime/get_mob_buckling_height(mob/seat) - if(..()) - return 3 - -/mob/living/simple_animal/slime/examine(mob/user) - . = list("This is [icon2html(src, user)] \a [src]!", EXAMINE_SECTION_BREAK) //SKYRAT EDIT CHANGE - if (stat == DEAD) - . += span_deadsay("It is limp and unresponsive.") - else - if (stat == UNCONSCIOUS || stat == HARD_CRIT) // Slime stasis - . += span_deadsay("It appears to be alive but unresponsive.") - if (getBruteLoss()) - . += "" - if (getBruteLoss() < 40) - . += "It has some punctures in its flesh!" - else - . += "It has severe punctures and tears in its flesh!" - . += "\n" - - switch(powerlevel) - if(2 to 3) - . += "It is flickering gently with a little electrical activity." - - if(4 to 5) - . += "It is glowing gently with moderate levels of electrical activity." - - if(6 to 9) - . += span_warning("It is glowing brightly with high levels of electrical activity.") - - if(10) - . += span_warning("It is radiating with massive levels of electrical activity!") - - . += "" - -/mob/living/simple_animal/slime/proc/apply_water() - adjustBruteLoss(rand(15,20)) - if(client) - return - - if(Target) // Like cats - set_target(null) - ++discipline_stacks - return - -///Changes the slime's current life state -/mob/living/simple_animal/slime/proc/set_life_stage(new_life_stage = SLIME_LIFE_STAGE_BABY) - life_stage = new_life_stage - - switch(life_stage) - if(SLIME_LIFE_STAGE_BABY) - for(var/datum/action/innate/slime/reproduce/reproduce_action in actions) - reproduce_action.Remove(src) - - GRANT_ACTION(/datum/action/innate/slime/evolve) - - health = initial(health) - maxHealth = initial(maxHealth) - - obj_damage = initial(obj_damage) - melee_damage_lower = initial(melee_damage_lower) - melee_damage_upper = initial(melee_damage_upper) - wound_bonus = initial(wound_bonus) - - max_nutrition = initial(max_nutrition) - grow_nutrition = initial(grow_nutrition) - hunger_nutrition = initial(hunger_nutrition) - starve_nutrition = initial(starve_nutrition) - - if(SLIME_LIFE_STAGE_ADULT) - - for(var/datum/action/innate/slime/evolve/evolve_action in actions) - evolve_action.Remove(src) - - GRANT_ACTION(/datum/action/innate/slime/reproduce) - - health = 200 - maxHealth = 200 - - obj_damage = 15 - melee_damage_lower += 10 - melee_damage_upper += 10 - wound_bonus = -90 - - max_nutrition += 200 - grow_nutrition += 200 - hunger_nutrition += 100 - starve_nutrition += 100 - -///Sets the slime's type, name and its icons -/mob/living/simple_animal/slime/proc/set_slime_type(new_type) - slime_type = new new_type - update_name() - regenerate_icons() - -///randomizes the colour of a slime -/mob/living/simple_animal/slime/proc/random_colour() - set_slime_type(pick(subtypesof(/datum/slime_type))) - -///Makes a slime not attack people for a while -/mob/living/simple_animal/slime/proc/discipline_slime(mob/user) - if(stat) - return - - if(prob(80) && !client) - discipline_stacks++ - - if(life_stage == SLIME_LIFE_STAGE_BABY && discipline_stacks == 1) //if the slime is a baby and has not been overly disciplined, it will give up its grudge - attacked_stacks = 0 - - set_target(null) - if(buckled) - stop_feeding(silent = TRUE) //we unbuckle the slime from the mob it latched onto. - - stunned_until = world.time + rand(2 SECONDS, 6 SECONDS) - - Stun(3) - if(user) - step_away(src,user,15) - - addtimer(CALLBACK(src, PROC_REF(slime_move), user), 0.3 SECONDS) - -///Makes a slime move away, used for a timed callback -/mob/living/simple_animal/slime/proc/slime_move(mob/user) - if(user) - step_away(src,user,15) - -///Spawns a crossed slimecore item -/mob/living/simple_animal/slime/proc/spawn_corecross() - var/static/list/crossbreeds = subtypesof(/obj/item/slimecross) - visible_message(span_danger("[src] shudders, its mutated core consuming the rest of its body!")) - playsound(src, 'sound/magic/smoke.ogg', 50, TRUE) - var/selected_crossbreed_path - for(var/crossbreed_path in crossbreeds) - var/obj/item/slimecross/cross_item = crossbreed_path - if(initial(cross_item.colour) == slime_type.colour && initial(cross_item.effect) == crossbreed_modification) - selected_crossbreed_path = cross_item - break - if(selected_crossbreed_path) - new selected_crossbreed_path(loc) - else - visible_message(span_warning("The mutated core shudders, and collapses into a puddle, unable to maintain its form.")) - qdel(src) - -///Handles slime attacking restrictions, and any extra effects that would trigger -/mob/living/simple_animal/slime/proc/slime_pre_attack(mob/living/simple_animal/slime/our_slime, atom/target, proximity, modifiers) - SIGNAL_HANDLER - if(isAI(target)) //The aI is not tasty! - target.balloon_alert(our_slime, "not tasty!") - return COMPONENT_CANCEL_ATTACK_CHAIN - - if(our_slime.buckled == target) //If you try to attack the creature you are latched on, you instead cancel feeding - our_slime.stop_feeding() - return COMPONENT_CANCEL_ATTACK_CHAIN - - if(iscyborg(target)) - var/mob/living/silicon/robot/borg_target = target - borg_target.flash_act() - do_sparks(5, TRUE, borg_target) - var/stunprob = our_slime.powerlevel * SLIME_SHOCK_PERCENTAGE_PER_LEVEL + SLIME_BASE_SHOCK_PERCENTAGE - if(prob(stunprob) && our_slime.powerlevel >= SLIME_EXTRA_SHOCK_COST) - our_slime.powerlevel = clamp(our_slime.powerlevel - SLIME_EXTRA_SHOCK_COST, SLIME_MIN_POWER, SLIME_MAX_POWER) - borg_target.apply_damage(our_slime.powerlevel * rand(6, 10), BRUTE, spread_damage = TRUE, wound_bonus = CANT_WOUND) - borg_target.visible_message(span_danger("The [our_slime.name] shocks [borg_target]!"), span_userdanger("The [our_slime.name] shocks you!")) - else - borg_target.visible_message(span_danger("The [our_slime.name] fails to hurt [borg_target]!"), span_userdanger("The [our_slime.name] failed to hurt you!")) - - return COMPONENT_CANCEL_ATTACK_CHAIN - - if(iscarbon(target) && our_slime.powerlevel > SLIME_MIN_POWER) - var/mob/living/carbon/carbon_target = target - var/stunprob = our_slime.powerlevel * SLIME_SHOCK_PERCENTAGE_PER_LEVEL + SLIME_BASE_SHOCK_PERCENTAGE // 17 at level 1, 80 at level 10 - if(!prob(stunprob)) - return NONE // normal attack - - carbon_target.visible_message(span_danger("The [our_slime.name] shocks [carbon_target]!"), span_userdanger("The [our_slime.name] shocks you!")) - - do_sparks(5, TRUE, carbon_target) - var/power = our_slime.powerlevel + rand(0,3) - carbon_target.Paralyze(power * 2 SECONDS) - carbon_target.set_stutter_if_lower(power * 2 SECONDS) - if (prob(stunprob) && our_slime.powerlevel >= SLIME_EXTRA_SHOCK_COST) - our_slime.powerlevel = clamp(our_slime.powerlevel - SLIME_EXTRA_SHOCK_COST, SLIME_MIN_POWER, SLIME_MAX_POWER) - carbon_target.apply_damage(our_slime.powerlevel * rand(6, 10), BURN, spread_damage = TRUE, wound_bonus = CANT_WOUND) - - if(isslime(target)) - if(target == our_slime) - return COMPONENT_CANCEL_ATTACK_CHAIN - var/mob/living/simple_animal/slime/target_slime = target - if(target_slime.buckled) - target_slime.stop_feeding(silent = TRUE) - visible_message(span_danger("[our_slime] pulls [target_slime] off!"), \ - span_danger("You pull [target_slime] off!")) - return NONE // normal attack - target_slime.attacked_stacks += 5 - var/is_adult_slime = our_slime.life_stage == SLIME_LIFE_STAGE_ADULT - if(target_slime.nutrition >= 100) //steal some nutrition. negval handled in life() - var/stolen_nutrition = is_adult_slime ? 90 : 50 - target_slime.adjust_nutrition(-stolen_nutrition) - our_slime.add_nutrition(stolen_nutrition) - if(target_slime.health > 0) - our_slime.adjustBruteLoss(is_adult_slime ? -20 : -10) - -#undef SLIME_EXTRA_SHOCK_COST -#undef SLIME_EXTRA_SHOCK_THRESHOLD -#undef SLIME_BASE_SHOCK_PERCENTAGE -#undef SLIME_SHOCK_PERCENTAGE_PER_LEVEL diff --git a/code/modules/mob/living/simple_animal/slime/slime_say.dm b/code/modules/mob/living/simple_animal/slime/slime_say.dm deleted file mode 100644 index 1a2540c447f..00000000000 --- a/code/modules/mob/living/simple_animal/slime/slime_say.dm +++ /dev/null @@ -1,8 +0,0 @@ -/mob/living/simple_animal/slime/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, spans, list/message_mods = list(), message_range) - . = ..() - if(speaker == src || radio_freq || stat || !(speaker in Friends)) - return - - speech_buffer = list() - speech_buffer += speaker - speech_buffer += lowertext(raw_message) diff --git a/code/modules/mob/living/ventcrawling.dm b/code/modules/mob/living/ventcrawling.dm index 1a732c41a4d..3d7be3ea47e 100644 --- a/code/modules/mob/living/ventcrawling.dm +++ b/code/modules/mob/living/ventcrawling.dm @@ -88,7 +88,7 @@ else to_chat(src, span_warning("This ventilation duct is not connected to anything!")) -/mob/living/simple_animal/slime/can_enter_vent(obj/machinery/atmospherics/components/ventcrawl_target, provide_feedback = TRUE) +/mob/living/basic/slime/can_enter_vent(obj/machinery/atmospherics/components/ventcrawl_target, provide_feedback = TRUE) if(buckled) if(provide_feedback) to_chat(src, span_warning("You can't vent crawl while feeding!")) diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index aaf654e6dba..7da01f047ef 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -140,9 +140,6 @@ /// Can this mob enter shuttles var/move_on_shuttle = 1 - ///A weakref to the last mob/living/carbon to push/drag/grab this mob (exclusively used by slimes friend recognition) - var/datum/weakref/LAssailant = null - /// bitflags defining which status effects can be inflicted (replaces canknockdown, canstun, etc) var/status_flags = CANSTUN|CANKNOCKDOWN|CANUNCONSCIOUS|CANPUSH diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 270136ddd94..b71a2a46045 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -233,18 +233,18 @@ for(var/t in bodyparts) qdel(t) - var/mob/living/simple_animal/slime/new_slime + var/mob/living/basic/slime/new_slime if(reproduce) var/number = pick(14;2,3,4) //reproduce (has a small chance of producing 3 or 4 offspring) var/list/babies = list() for(var/i in 1 to number) - var/mob/living/simple_animal/slime/M = new/mob/living/simple_animal/slime(loc) + var/mob/living/basic/slime/M = new/mob/living/basic/slime(loc) M.set_nutrition(round(nutrition/number)) step_away(M,src) babies += M new_slime = pick(babies) else - new_slime = new /mob/living/simple_animal/slime(loc) + new_slime = new /mob/living/basic/slime(loc) new_slime.set_combat_mode(TRUE) new_slime.key = key diff --git a/code/modules/mob_spawn/corpses/nonhuman_corpses.dm b/code/modules/mob_spawn/corpses/nonhuman_corpses.dm index 3a63a246035..5145c3cc6ed 100644 --- a/code/modules/mob_spawn/corpses/nonhuman_corpses.dm +++ b/code/modules/mob_spawn/corpses/nonhuman_corpses.dm @@ -18,13 +18,13 @@ ///dead slimes, with a var for whatever color you want. /obj/effect/mob_spawn/corpse/slime - mob_type = /mob/living/simple_animal/slime + mob_type = /mob/living/basic/slime icon = 'icons/mob/simple/slimes.dmi' icon_state = "grey baby slime" //sets the icon in the map editor ///the color of the slime you're spawning. var/slime_species = /datum/slime_type/grey -/obj/effect/mob_spawn/corpse/slime/special(mob/living/simple_animal/slime/spawned_slime) +/obj/effect/mob_spawn/corpse/slime/special(mob/living/basic/slime/spawned_slime) . = ..() spawned_slime.set_slime_type(slime_species) diff --git a/code/modules/mod/modules/modules_antag.dm b/code/modules/mod/modules/modules_antag.dm index 5e335d4955f..2462f62a3d3 100644 --- a/code/modules/mod/modules/modules_antag.dm +++ b/code/modules/mod/modules/modules_antag.dm @@ -147,7 +147,7 @@ ) SIGNAL_HANDLER - if(SEND_SIGNAL(mod, COMSIG_ITEM_HIT_REACT, owner, hitby, attack_text, 0, damage, attack_type, damage_type) & COMPONENT_HIT_REACTION_BLOCK) + if(mod.hit_reaction(owner, hitby, attack_text, 0, damage, attack_type)) drain_power(use_energy_cost) return SUCCESSFUL_BLOCK return NONE diff --git a/code/modules/modular_computers/computers/machinery/console_presets.dm b/code/modules/modular_computers/computers/machinery/console_presets.dm index 00af9975e24..18f394d6ee0 100644 --- a/code/modules/modular_computers/computers/machinery/console_presets.dm +++ b/code/modules/modular_computers/computers/machinery/console_presets.dm @@ -80,42 +80,69 @@ // ===== CARGO CHAT CONSOLES ===== /obj/machinery/modular_computer/preset/cargochat - name = "cargo chatroom console" - desc = "A stationary computer. This one comes preloaded with a chatroom for your cargo requests." + name = "cargo interfacing console" + desc = "A stationary computer that comes pre-loaded with software to interface with the cargo department." starting_programs = list( /datum/computer_file/program/chatclient, ) - - ///Used in Initialize to set the chat client name. - var/console_department + /// What department type is assigned to this console? + var/datum/job_department/department_type /obj/machinery/modular_computer/preset/cargochat/Initialize(mapload) + add_starting_software() . = ..() + setup_starting_software() + REGISTER_REQUIRED_MAP_ITEM(1, 1) + if(department_type) + name = "[lowertext(initial(department_type.department_name))] [name]" + cpu.name = name + +/obj/machinery/modular_computer/preset/cargochat/proc/add_starting_software() + starting_programs += /datum/computer_file/program/department_order + +/obj/machinery/modular_computer/preset/cargochat/proc/setup_starting_software() + if(!department_type) + return + var/datum/computer_file/program/chatclient/chatprogram = cpu.find_file_by_name("ntnrc_client") - chatprogram.username = "[lowertext(console_department)]_department" - cpu.active_program = chatprogram + chatprogram.username = "[lowertext(initial(department_type.department_name))]_department" + cpu.idle_threads += chatprogram + + var/datum/computer_file/program/department_order/orderprogram = cpu.find_file_by_name("dept_order") + orderprogram.set_linked_department(department_type) + cpu.active_program = orderprogram + update_appearance(UPDATE_ICON) /obj/machinery/modular_computer/preset/cargochat/service - console_department = "Service" + department_type = /datum/job_department/service /obj/machinery/modular_computer/preset/cargochat/engineering - console_department = "Engineering" + department_type = /datum/job_department/engineering /obj/machinery/modular_computer/preset/cargochat/science - console_department = "Science" + department_type = /datum/job_department/science /obj/machinery/modular_computer/preset/cargochat/security - console_department = "Security" + department_type = /datum/job_department/security /obj/machinery/modular_computer/preset/cargochat/medical - console_department = "Medical" + department_type = /datum/job_department/medical - -//ONE PER MAP PLEASE, IT MAKES A CARGOBUS FOR EACH ONE OF THESE /obj/machinery/modular_computer/preset/cargochat/cargo - console_department = "Cargo" - name = "department chatroom console" - desc = "A stationary computer. This one comes preloaded with a chatroom for incoming cargo requests. You may moderate it from this computer." + department_type = /datum/job_department/cargo + name = "departmental interfacing console" + desc = "A stationary computer that comes pre-loaded with software to interface with incoming departmental cargo requests." + +/obj/machinery/modular_computer/preset/cargochat/cargo/add_starting_software() + starting_programs += /datum/computer_file/program/bounty_board + starting_programs += /datum/computer_file/program/budgetorders + starting_programs += /datum/computer_file/program/shipping + +/obj/machinery/modular_computer/preset/cargochat/cargo/setup_starting_software() + var/datum/computer_file/program/chatclient/chatprogram = cpu.find_file_by_name("ntnrc_client") + cpu.active_program = chatprogram + update_appearance(UPDATE_ICON) + // Rest of the chat program setup is done in LateInit /obj/machinery/modular_computer/preset/cargochat/cargo/LateInitialize() . = ..() diff --git a/code/modules/modular_computers/file_system/programs/budgetordering.dm b/code/modules/modular_computers/file_system/programs/budgetordering.dm index 41ada0e60c4..966bb1c80ed 100644 --- a/code/modules/modular_computers/file_system/programs/budgetordering.dm +++ b/code/modules/modular_computers/file_system/programs/budgetordering.dm @@ -8,6 +8,7 @@ can_run_on_flags = PROGRAM_LAPTOP | PROGRAM_PDA size = 10 tgui_id = "NtosCargo" + program_icon = FA_ICON_CART_FLATBED ///Are you actually placing orders with it? var/requestonly = TRUE ///Can the tablet see or buy illegal stuff? diff --git a/code/modules/modular_computers/file_system/programs/chatroom/ntnrc_client.dm b/code/modules/modular_computers/file_system/programs/chatroom/ntnrc_client.dm index b3566591e12..66182437869 100644 --- a/code/modules/modular_computers/file_system/programs/chatroom/ntnrc_client.dm +++ b/code/modules/modular_computers/file_system/programs/chatroom/ntnrc_client.dm @@ -8,13 +8,13 @@ filename = "ntnrc_client" filedesc = "Chat Client" downloader_category = PROGRAM_CATEGORY_DEVICE - program_open_overlay = "command" - extended_desc = "This program allows communication over NTNRC network" + program_open_overlay = "text" + extended_desc = "This program allows communication over NTNRC network." size = 8 ui_header = "ntnrc_idle.gif" program_flags = PROGRAM_ON_NTNET_STORE | PROGRAM_REQUIRES_NTNET tgui_id = "NtosNetChat" - program_icon = "comment-alt" + program_icon = FA_ICON_COMMENT_ALT alert_able = TRUE ///The user's screen name. diff --git a/code/modules/modular_computers/file_system/programs/dept_order.dm b/code/modules/modular_computers/file_system/programs/dept_order.dm new file mode 100644 index 00000000000..2229628d392 --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/dept_order.dm @@ -0,0 +1,274 @@ +/datum/computer_file/program/department_order + filename = "dept_order" + filedesc = "Departmental Orders" + can_run_on_flags = PROGRAM_CONSOLE + downloader_category = PROGRAM_CATEGORY_SUPPLY + program_open_overlay = "request" + extended_desc = "Allows for departments to order supplied from Cargo for free, with a cooldown between orders." + size = 10 + tgui_id = "NtosDeptOrder" + program_icon = FA_ICON_CART_FLATBED + alert_able = TRUE + + // Filled via set_linked_department. Also serves as "who can cancel the order". + download_access = list(ACCESS_COMMAND) + // Anyone can open, not everyone can use. + run_access = list() + /// Filled via set_linked_department. Serves as "who can place orders". + VAR_PRIVATE/list/use_access = list() + + /// The department we are linked to, typepath. + VAR_PRIVATE/datum/job_department/linked_department + /// Stores the time when we can next place an order for each department. + VAR_PRIVATE/static/list/department_cooldowns = list( + /datum/job_department/engineering = 0, + /datum/job_department/medical = 0, + /datum/job_department/science = 0, + /datum/job_department/security = 0, + /datum/job_department/service = 0, + ) + /// Reference to the order we've made UNTIL it gets sent on the supply shuttle. this is so heads can cancel it + VAR_PRIVATE/datum/supply_order/department_order + /// Our radio object we use to talk to our department. + VAR_PRIVATE/obj/item/radio/radio + /// The radio channel we will speak into by default. + VAR_PRIVATE/radio_channel + /// Maps what department gets what encryption key + /// I could've put this on the job department datum but it felt unnecessary + VAR_PRIVATE/static/list/dept_to_radio = list( + /datum/job_department/engineering = /obj/item/encryptionkey/headset_eng, + /datum/job_department/medical = /obj/item/encryptionkey/headset_med, + /datum/job_department/science = /obj/item/encryptionkey/headset_sci, + /datum/job_department/security = /obj/item/encryptionkey/headset_sec, + /datum/job_department/service = /obj/item/encryptionkey/headset_service, + ) + +/// Sets the passed department type as the active department for this computer file. +/datum/computer_file/program/department_order/proc/set_linked_department(datum/job_department/department) + linked_department = department + var/datum/job_department/linked_department_real = SSjob.get_department_type(linked_department) + // Heads of staff can download + download_access |= linked_department_real.head_of_staff_access + // Heads of staff + anyone in the dept can run it + use_access |= linked_department_real.head_of_staff_access + use_access |= linked_department_real.department_access + // Also set up the radio + if(dept_to_radio[linked_department]) + if(!isnull(radio)) + QDEL_NULL(radio) + var/picked_key = dept_to_radio[linked_department] || /obj/item/encryptionkey/headset_cargo + radio = new(computer) + radio.keyslot = new picked_key() + radio.subspace_transmission = TRUE + radio.canhear_range = 0 + radio.recalculateChannels() + radio_channel = radio.keyslot.channels[1] + computer.update_static_data_for_all_viewers() + +/datum/computer_file/program/department_order/Destroy() + QDEL_NULL(radio) + return ..() + +/datum/computer_file/program/department_order/ui_interact(mob/user, datum/tgui/ui) + check_cooldown() + +/datum/computer_file/program/department_order/ui_data(mob/user) + var/list/data = list() + data["no_link"] = !linked_department + data["id_inside"] = !!computer.computer_id_slot + data["time_left"] = department_cooldowns[linked_department] ? DisplayTimeText(max(department_cooldowns[linked_department] - world.time, 0), 1) : null + data["can_override"] = !!department_order + return data + +/datum/computer_file/program/department_order/ui_static_data(mob/user) + var/datum/job_department/linked_department_real = SSjob.get_department_type(linked_department) + if(isnull(linked_department_real)) + return list("supplies" = list()) + + var/list/data = list() + + var/list/supply_data = list() + for(var/group in linked_department_real.associated_cargo_groups) + supply_data[group] = list() + + for(var/pack_key in SSshuttle.supply_packs) + var/datum/supply_pack/pack = SSshuttle.supply_packs[pack_key] + if(!islist(supply_data[pack.group]) || !can_see_pack(pack)) + continue + + UNTYPED_LIST_ADD(supply_data[pack.group], list( + "name" = pack.name, + "cost" = pack.get_cost(), + "id" = pack.id, + "desc" = pack.desc || pack.name, // If there is a description, use it. Otherwise use the pack's name. + )) + + var/list/supply_data_flattened = list() + for(var/group in supply_data) + UNTYPED_LIST_ADD(supply_data_flattened, list( + "name" = group, + "packs" = supply_data[group], + )) + + data["supplies"] = supply_data_flattened + return data + +/// Checks if we can "see" the passed supply pack +/datum/computer_file/program/department_order/proc/can_see_pack(datum/supply_pack/to_check) + PROTECTED_PROC(TRUE) + if(to_check.hidden && !(computer.obj_flags & EMAGGED)) + return FALSE + if(to_check.special && !to_check.special_enabled) + return FALSE + if(to_check.drop_pod_only) + return FALSE + if(to_check.goody) + return FALSE + return TRUE + +/// Looks through all possible departments and finds one this ID card "corresponds" to. +/datum/computer_file/program/department_order/proc/find_department_to_link(obj/item/card/id/id_card) + PROTECTED_PROC(TRUE) + if(id_card.type != /obj/item/card/id/advanced/silver) + // I don't want to introduce weird "access order" behavior with Captain's ID / Chameleon ids / etc, so only silver IDs work + return null + var/list/access_to_depts = list() + for(var/datum/job_department/department as anything in department_cooldowns) + access_to_depts[initial(department.head_of_staff_access)] = department + for(var/access_key in id_card.GetAccess()) + if(access_to_depts[access_key]) + return access_to_depts[access_key] + return null + +/datum/computer_file/program/department_order/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) + . = ..() + if(.) + return . + + var/mob/living/orderer = ui.user + if(!istype(orderer)) + return . + + if(action == "link") + if(!isnull(linked_department)) + return TRUE + + var/new_dept_type = find_department_to_link(computer.computer_id_slot) + if(isnull(new_dept_type)) + computer.physical.balloon_alert(orderer, "no department found!") + playsound(computer, 'sound/machines/buzz-sigh.ogg', 30, TRUE) + else + computer.physical.balloon_alert(orderer, "linked") + playsound(computer, 'sound/machines/ping.ogg', 30, TRUE) + set_linked_department(new_dept_type) + return TRUE + + if(isnull(linked_department)) + return TRUE + + var/obj/item/card/id/id_card = computer.computer_id_slot || orderer.get_idcard(hand_first = TRUE) + var/list/id_card_access = id_card?.GetAccess() || list() + + if(length(use_access & id_card_access) <= 0) + computer.physical.balloon_alert(orderer, "access denied!") + playsound(computer, 'sound/machines/buzz-sigh.ogg', 30, TRUE) + return TRUE + + if(action == "override_order") + if(isnull(department_order) || !(department_order in SSshuttle.shopping_list)) + return TRUE + if(length(download_access & id_card_access) <= 0) + computer.physical.balloon_alert(orderer, "requires head of staff access!") + playsound(computer, 'sound/machines/buzz-sigh.ogg', 30, TRUE) + return TRUE + + department_cooldowns[linked_department] = 0 + SSshuttle.shopping_list -= department_order + department_order = null + UnregisterSignal(SSshuttle, COMSIG_SUPPLY_SHUTTLE_BUY) + return TRUE + + if(department_cooldowns[linked_department] > world.time) + return TRUE + + submit_order(orderer, params["id"]) + return TRUE + +/datum/computer_file/program/department_order/proc/submit_order(mob/living/orderer, id) + id = text2path(id) || id + + var/datum/job_department/linked_department_real = SSjob.get_department_type(linked_department) + var/datum/supply_pack/pack = SSshuttle.supply_packs[id] + if(isnull(pack)) + computer.physical.say("Something went wrong!") + CRASH("requested supply pack id \"[id]\" not found!") + if(!can_see_pack(pack) || !(pack.group in linked_department_real.associated_cargo_groups)) + return + var/name = "*None Provided*" + var/rank = "*None Provided*" + var/ckey = orderer.ckey + if(ishuman(orderer)) + var/mob/living/carbon/human/human_orderer = orderer + name = human_orderer.get_authentification_name() + rank = human_orderer.get_assignment(hand_first = TRUE) + else if(HAS_SILICON_ACCESS(orderer)) + name = orderer.real_name + rank = "Silicon" + var/already_signalled = !!department_order + var/chosen_delivery_area + for(var/delivery_area_type in linked_department_real.department_delivery_areas) + if(GLOB.areas_by_type[delivery_area_type]) + chosen_delivery_area = delivery_area_type + break + + if(SSshuttle.supply.get_order_count(pack) == OVER_ORDER_LIMIT) + playsound(computer, 'sound/machines/buzz-sigh.ogg', 50, FALSE) + computer.physical.say("ERROR: No more then [CARGO_MAX_ORDER] of any pack may be ordered at once!") + return + + department_order = new( + pack = pack, + orderer = name, + orderer_rank = rank, + orderer_ckey = ckey, + reason = "Departmental Order", + paying_account = null, + department_destination = chosen_delivery_area, + coupon = null, + manifest_can_fail = FALSE, + ) + SSshuttle.shopping_list += department_order + if(!already_signalled) + RegisterSignal(SSshuttle, COMSIG_SUPPLY_SHUTTLE_BUY, PROC_REF(finalize_department_order)) + computer.physical.say("Order processed. Cargo will deliver the crate when it comes in on their shuttle. NOTICE: Heads of staff may override the order.") + calculate_cooldown(pack.cost) + +///signal when the supply shuttle begins to spawn orders. we forget the current order preventing it from being overridden (since it's already past the point of no return on undoing the order) +/datum/computer_file/program/department_order/proc/finalize_department_order(datum/subsystem) + SIGNAL_HANDLER + if(!isnull(department_order) && (department_order in SSshuttle.shopping_list)) + department_order = null + UnregisterSignal(subsystem, COMSIG_SUPPLY_SHUTTLE_BUY) + +/datum/computer_file/program/department_order/proc/calculate_cooldown(credits) + //minimum almost the lowest value of a crate + var/min = CARGO_CRATE_VALUE * 1.6 + //maximum fairly expensive crate at 3000 + var/max = CARGO_CRATE_VALUE * 15 + credits = clamp(credits, min, max) + var/time_y = (credits - min)/(max - min) + 1 //convert to between 1 and 2 + time_y = 10 MINUTES * time_y + department_cooldowns[linked_department] = world.time + time_y + +/datum/computer_file/program/department_order/process_tick(seconds_per_tick) + if(!check_cooldown() || alert_silenced || !alert_able) + return + radio?.talk_into(computer, "Order cooldown has expired! A new order may now be placed!", radio_channel) + computer.alert_call(src, "Order cooldown expired!", 'sound/machines/ping.ogg') + +/// Checks if the cooldown is up and resets it if so. +/datum/computer_file/program/department_order/proc/check_cooldown() + if(department_cooldowns[linked_department] > 0 && department_cooldowns[linked_department] <= world.time) + department_cooldowns[linked_department] = 0 + return TRUE + return FALSE diff --git a/code/modules/modular_computers/file_system/programs/messenger/messenger_program.dm b/code/modules/modular_computers/file_system/programs/messenger/messenger_program.dm index 94c89945ed4..34aaf9c8515 100644 --- a/code/modules/modular_computers/file_system/programs/messenger/messenger_program.dm +++ b/code/modules/modular_computers/file_system/programs/messenger/messenger_program.dm @@ -9,7 +9,7 @@ filename = "nt_messenger" filedesc = "Direct Messenger" downloader_category = PROGRAM_CATEGORY_DEVICE - program_open_overlay = "command" + program_open_overlay = "text" extended_desc = "This program allows old-school communication with other modular devices." size = 0 undeletable = TRUE // It comes by default in tablets, can't be downloaded, takes no space and should obviously not be able to be deleted. diff --git a/code/modules/modular_computers/file_system/programs/robocontrol.dm b/code/modules/modular_computers/file_system/programs/robocontrol.dm index 68f7ba3ddef..314048c5149 100644 --- a/code/modules/modular_computers/file_system/programs/robocontrol.dm +++ b/code/modules/modular_computers/file_system/programs/robocontrol.dm @@ -35,7 +35,7 @@ for(var/mob/living/simple_animal/bot/simple_bot as anything in GLOB.bots_list) if(!is_valid_z_level(current_turf, get_turf(simple_bot)) || !(simple_bot.bot_mode_flags & BOT_MODE_REMOTE_ENABLED)) //Only non-emagged bots on the same Z-level are detected! continue - if(computer && !simple_bot.check_access(user)) // Only check Bots we can access) + if(!simple_bot.allowed(user) && !simple_bot.check_access(computer.computer_id_slot)) // Only check Bots we can access continue var/list/newbot = list( "name" = simple_bot.name, diff --git a/code/modules/modular_computers/file_system/programs/secureye.dm b/code/modules/modular_computers/file_system/programs/secureye.dm index e1444b74577..eee170e7c2c 100644 --- a/code/modules/modular_computers/file_system/programs/secureye.dm +++ b/code/modules/modular_computers/file_system/programs/secureye.dm @@ -17,7 +17,7 @@ ///Boolean on whether or not the app will make noise when flipping around the channels. var/spying = FALSE - var/list/network = list("ss13") + var/list/network = list(CAMERANET_NETWORK_SS13) ///List of weakrefs of all users watching the program. var/list/concurrent_users = list() @@ -43,7 +43,14 @@ can_run_on_flags = PROGRAM_ALL program_flags = PROGRAM_ON_SYNDINET_STORE | PROGRAM_UNIQUE_COPY - network = list("ss13", "mine", "rd", "labor", "ordnance", "minisat") + network = list( + CAMERANET_NETWORK_SS13, + CAMERANET_NETWORK_MINE, + CAMERANET_NETWORK_RD, + CAMERANET_NETWORK_LABOR, + CAMERANET_NETWORK_ORDNANCE, + CAMERANET_NETWORK_MINISAT, + ) spying = TRUE /datum/computer_file/program/secureye/human_ai @@ -111,7 +118,7 @@ data["activeCamera"] = list( name = active_camera.c_tag, ref = REF(active_camera), - status = active_camera.status, + status = active_camera.camera_enabled, ) return data diff --git a/code/modules/movespeed/modifiers/mobs.dm b/code/modules/movespeed/modifiers/mobs.dm index 6a17cd4e2c2..2770405a9f1 100644 --- a/code/modules/movespeed/modifiers/mobs.dm +++ b/code/modules/movespeed/modifiers/mobs.dm @@ -51,12 +51,6 @@ /datum/movespeed_modifier/grab_slowdown/kill multiplicative_slowdown = 9 -/datum/movespeed_modifier/slime_reagentmod - variable = TRUE - -/datum/movespeed_modifier/slime_healthmod - variable = TRUE - /datum/movespeed_modifier/config_walk_run multiplicative_slowdown = 1 id = MOVESPEED_ID_MOB_WALK_RUN @@ -131,9 +125,6 @@ multiplicative_slowdown = SOFTCRIT_ADD_SLOWDOWN flags = IGNORE_NOSLOW -/datum/movespeed_modifier/slime_tempmod - variable = TRUE - /datum/movespeed_modifier/carbon_crawling multiplicative_slowdown = CRAWLING_ADD_SLOWDOWN flags = IGNORE_NOSLOW diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index cb48d0809c8..81964996845 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -259,10 +259,6 @@ is_hallucinating = !!living_user.has_status_effect(/datum/status_effect/hallucination) ui.set_autoupdate(!is_hallucinating) //to not ruin the immersion by constantly changing the fake chemicals -/obj/machinery/chem_dispenser/ui_static_data(mob/user) - . = ..() - .["showpH"] = show_ph - /obj/machinery/chem_dispenser/ui_data(mob/user) . = list() .["amount"] = amount @@ -270,6 +266,7 @@ .["maxEnergy"] = cell.maxcharge .["displayedEnergy"] = display_energy(cell.charge) .["displayedMaxEnergy"] = display_energy(cell.maxcharge) + .["showpH"] = isnull(recording_recipe) ? show_ph : FALSE //virtual beakers have no ph to compute & display var/list/chemicals = list() var/is_hallucinating = FALSE @@ -304,7 +301,7 @@ beaker_data["currentVolume"] = round(beaker.reagents.total_volume, CHEMICAL_VOLUME_ROUNDING) var/list/beakerContents = list() if(length(beaker.reagents.reagent_list)) - for(var/datum/reagent/reagent in beaker.reagents.reagent_list) + for(var/datum/reagent/reagent as anything in beaker.reagents.reagent_list) beakerContents += list(list("name" = reagent.name, "volume" = round(reagent.volume, CHEMICAL_VOLUME_ROUNDING))) // list in a list because Byond merges the first list... beaker_data["contents"] = beakerContents .["beaker"] = beaker_data diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm index 708be786404..bdd4f125075 100644 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm +++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm @@ -174,12 +174,12 @@ continue //Nothing would come from grinding or juicing - if(!length(ingredient.grind_results) && !ingredient.juice_typepath) + if(!length(ingredient.grind_results) && !ingredient.reagents.total_volume) to_chat(user, span_warning("You cannot grind/juice [ingredient] into reagents!")) continue //Error messages should be in the objects' definitions - if(!ingredient.grind_requirements(src)) + if(!ingredient.blend_requirements(src)) continue filtered_list += ingredient @@ -241,7 +241,7 @@ return ITEM_INTERACT_SUCCESS //add item directly - else if(tool.grind_results || tool.juice_typepath) + else if(length(tool.grind_results) || tool.reagents?.total_volume) if(tool.atom_storage) //anything that has internal storage would be too much recursion for us to handle to_chat(user, span_notice("Drag this item onto [src] to dump its contents.")) return ITEM_INTERACT_BLOCKING @@ -439,12 +439,11 @@ break if(juicing) - if(ingredient.juice_typepath) - if(!ingredient.juice(beaker.reagents, user)) - to_chat(user, span_danger("[src] shorts out as it tries to juice up [ingredient], and transfers it back to storage.")) - continue - item_processed = TRUE - else if(ingredient.grind_results) + if(!ingredient.juice(beaker.reagents, user)) + to_chat(user, span_danger("[src] shorts out as it tries to juice up [ingredient], and transfers it back to storage.")) + continue + item_processed = TRUE + else if(length(ingredient.grind_results) || ingredient.reagents?.total_volume) if(!ingredient.grind(beaker.reagents, user)) if(isstack(ingredient)) to_chat(user, span_notice("[src] attempts to grind as many pieces of [ingredient] as possible.")) diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index 79ac3ff6d68..2165f344261 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -403,7 +403,7 @@ exposed_open_turf.air.temperature = max(exposed_open_turf.air.temperature - ((temperature - TCMB) * (heat_capacity * reac_volume * specific_heat) / (heat_capacity + reac_volume * specific_heat)) / heat_capacity, TCMB) // Exchanges environment temperature with reagent. Reagent is at 2.7K with a heat capacity of 40J per unit. if(reac_volume < 5) return - for(var/mob/living/simple_animal/slime/exposed_slime in exposed_turf) + for(var/mob/living/basic/slime/exposed_slime in exposed_turf) exposed_slime.adjustToxLoss(rand(15,30)) /datum/reagent/consumable/condensedcapsaicin diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 3b5cd0e4cdd..6b686ec4afd 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -232,7 +232,7 @@ if(reac_volume >= 5) exposed_turf.MakeSlippery(TURF_WET_WATER, 10 SECONDS, min(reac_volume*1.5 SECONDS, 60 SECONDS)) - for(var/mob/living/simple_animal/slime/exposed_slime in exposed_turf) + for(var/mob/living/basic/slime/exposed_slime in exposed_turf) exposed_slime.apply_water() var/obj/effect/hotspot/hotspot = (locate(/obj/effect/hotspot) in exposed_turf) @@ -1343,7 +1343,7 @@ continue movable_content.wash(clean_types) - for(var/mob/living/simple_animal/slime/exposed_slime in exposed_turf) + for(var/mob/living/basic/slime/exposed_slime in exposed_turf) exposed_slime.adjustToxLoss(rand(5,10)) /datum/reagent/space_cleaner/expose_mob(mob/living/exposed_mob, methods=TOUCH, reac_volume, show_message=TRUE, touch_protection=0) diff --git a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm index 9ccf08b5fe5..4c68da0b7de 100644 --- a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm @@ -261,7 +261,7 @@ . = ..() if(reac_volume < 5) return - for(var/mob/living/simple_animal/slime/exposed_slime in exposed_turf) + for(var/mob/living/basic/slime/exposed_slime in exposed_turf) exposed_slime.adjustToxLoss(rand(15,30)) #undef CRYO_SPEED_PREFACTOR diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm index 84a242227bc..ecd46a44db0 100644 --- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm +++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm @@ -31,7 +31,7 @@ required_container = /obj/item/slime_extract/grey /datum/chemical_reaction/slime/slimespawn/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume) - var/mob/living/simple_animal/slime/spawning_slime = new(get_turf(holder.my_atom), /datum/slime_type/grey) + var/mob/living/basic/slime/spawning_slime = new(get_turf(holder.my_atom), /datum/slime_type/grey) spawning_slime.visible_message(span_danger("Infused with plasma, the core begins to quiver and grow, and a new baby slime emerges from it!")) ..() @@ -313,13 +313,13 @@ reaction_tags = REACTION_TAG_EASY | REACTION_TAG_SLIME | REACTION_TAG_DANGEROUS /datum/chemical_reaction/slime/slimebloodlust/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume) - for(var/mob/living/simple_animal/slime/slime in viewers(get_turf(holder.my_atom), null)) - if(slime.docile) //Undoes docility, but doesn't make rabid. + for(var/mob/living/basic/slime/slime in viewers(get_turf(holder.my_atom), null)) + if(slime.hunger_disabled) //Undoes docility, but doesn't make rabid. slime.visible_message(span_danger("[slime] forgets its training, becoming wild once again!")) - slime.docile = FALSE + slime.set_default_behaviour() slime.update_name() continue - slime.rabid = TRUE + slime.set_enraged_behaviour() slime.visible_message(span_danger("The [slime] is driven into a frenzy!")) ..() @@ -527,7 +527,7 @@ S.active = TRUE addtimer(CALLBACK(S, TYPE_PROC_REF(/obj/item/grenade, detonate)), rand(15,60)) else - var/mob/living/simple_animal/slime/random/random_slime = new (get_turf(holder.my_atom)) + var/mob/living/basic/slime/random/random_slime = new (get_turf(holder.my_atom)) random_slime.visible_message(span_danger("Infused with plasma, the core begins to quiver and grow, and a new baby slime emerges from it!")) ..() diff --git a/code/modules/reagents/reagent_containers/cups/glassbottle.dm b/code/modules/reagents/reagent_containers/cups/glassbottle.dm index a69810ca954..4f7abbe6f20 100644 --- a/code/modules/reagents/reagent_containers/cups/glassbottle.dm +++ b/code/modules/reagents/reagent_containers/cups/glassbottle.dm @@ -406,7 +406,7 @@ return "[year] [origin] [type]" /obj/item/reagent_containers/cup/glass/bottle/absinthe - name = "extra-strong absinthe" + name = "Extra-strong absinthe" desc = "A strong alcoholic drink brewed and distributed by" icon_state = "absinthebottle" list_reagents = list(/datum/reagent/consumable/ethanol/absinthe = 100) diff --git a/code/modules/recycling/disposal/bin.dm b/code/modules/recycling/disposal/bin.dm index 5db74d45c54..9bd89517bb8 100644 --- a/code/modules/recycling/disposal/bin.dm +++ b/code/modules/recycling/disposal/bin.dm @@ -198,7 +198,6 @@ else target.visible_message(span_danger("[user] places [target] in [src]."), span_userdanger("[user] places you in [src].")) log_combat(user, target, "stuffed", addition="into [src]") - target.LAssailant = WEAKREF(user) . = TRUE update_appearance() diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index a73b4459333..65dd75142a2 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -318,6 +318,26 @@ ) departmental_flags = DEPARTMENT_BITFLAG_SECURITY +/datum/design/board/photobooth + name = "Photobooth Board" + desc = "The circuit board for a photobooth." + id = "photobooth" + build_path = /obj/item/circuitboard/machine/photobooth + category = list( + RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_SERVICE + ) + departmental_flags = DEPARTMENT_BITFLAG_SERVICE + +/datum/design/board/security_photobooth + name = "Security Photobooth Board" + desc = "The circuit board for a security photobooth." + id = "security_photobooth" + build_path = /obj/item/circuitboard/machine/photobooth/security + category = list( + RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_SECURITY + ) + departmental_flags = DEPARTMENT_BITFLAG_SECURITY + /datum/design/board/biogenerator name = "Biogenerator Board" desc = "The circuit board for a biogenerator." diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 7687a01982e..7b01536034c 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -1205,8 +1205,10 @@ "idcard", "libraryconsole", "mining", + "photobooth", "rdcamera", "seccamera", + "security_photobooth", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000) diff --git a/code/modules/research/xenobiology/crossbreeding/_mobs.dm b/code/modules/research/xenobiology/crossbreeding/_mobs.dm index 046b5764b43..9b37be5d1a5 100644 --- a/code/modules/research/xenobiology/crossbreeding/_mobs.dm +++ b/code/modules/research/xenobiology/crossbreeding/_mobs.dm @@ -15,7 +15,7 @@ Slimecrossing Mobs spell_requirements = NONE convert_damage_type = TOX - possible_shapes = list(/mob/living/simple_animal/slime/transformed_slime) + possible_shapes = list(/mob/living/basic/slime/transformed_slime) /// If TRUE, we self-delete (remove ourselves) the next time we turn back into a human var/remove_on_restore = FALSE @@ -29,10 +29,10 @@ Slimecrossing Mobs qdel(src) /// Transformed slime - from Burning Black -/mob/living/simple_animal/slime/transformed_slime +/mob/living/basic/slime/transformed_slime // Just in case. -/mob/living/simple_animal/slime/transformed_slime/Reproduce() +/mob/living/basic/slime/transformed_slime/reproduce() to_chat(src, span_warning("I can't reproduce...")) // Mood return diff --git a/code/modules/research/xenobiology/crossbreeding/_potions.dm b/code/modules/research/xenobiology/crossbreeding/_potions.dm index 9121a0d0ce4..7b37ce3ae6b 100644 --- a/code/modules/research/xenobiology/crossbreeding/_potions.dm +++ b/code/modules/research/xenobiology/crossbreeding/_potions.dm @@ -183,7 +183,7 @@ Slimecrossing Potions icon = 'icons/obj/medical/chemical.dmi' icon_state = "potsilver" -/obj/item/slimepotion/slime_reviver/attack(mob/living/simple_animal/slime/revive_target, mob/user) +/obj/item/slimepotion/slime_reviver/attack(mob/living/basic/slime/revive_target, mob/user) if(!isslime(revive_target)) to_chat(user, span_warning("The potion only works on slimes!")) return ..() @@ -207,7 +207,7 @@ Slimecrossing Potions icon = 'icons/obj/medical/chemical.dmi' icon_state = "potcyan" -/obj/item/slimepotion/slime/chargedstabilizer/attack(mob/living/simple_animal/slime/stabilize_target, mob/user) +/obj/item/slimepotion/slime/chargedstabilizer/attack(mob/living/basic/slime/stabilize_target, mob/user) if(!isslime(stabilize_target)) to_chat(user, span_warning("The stabilizer only works on slimes!")) return ..() diff --git a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm index ed236be2d3f..667ffe24191 100644 --- a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm +++ b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm @@ -473,10 +473,10 @@ colour = SLIME_TYPE_GREY /datum/status_effect/stabilized/grey/tick(seconds_between_ticks) - for(var/mob/living/simple_animal/slime/slimes_in_range in range(1, get_turf(owner))) - if(!(owner in slimes_in_range.Friends)) + for(var/mob/living/basic/slime/slimes_in_range in range(1, get_turf(owner))) + if(!(REF(owner) in slimes_in_range.faction)) to_chat(owner, span_notice("[linked_extract] pulses gently as it communicates with [slimes_in_range].")) - slimes_in_range.set_friendship(owner, 1) + slimes_in_range.befriend(owner) return ..() /datum/status_effect/stabilized/orange diff --git a/code/modules/research/xenobiology/crossbreeding/burning.dm b/code/modules/research/xenobiology/crossbreeding/burning.dm index 0103ee40b91..c21645ede96 100644 --- a/code/modules/research/xenobiology/crossbreeding/burning.dm +++ b/code/modules/research/xenobiology/crossbreeding/burning.dm @@ -32,11 +32,11 @@ Burning extracts: effect_desc = "Creates a hungry and speedy slime that will love you forever." /obj/item/slimecross/burning/grey/do_effect(mob/user) - var/mob/living/simple_animal/slime/new_slime = new(get_turf(user),/datum/slime_type/grey) + var/mob/living/basic/slime/new_slime = new(get_turf(user),/datum/slime_type/grey) new_slime.visible_message(span_danger("A baby slime emerges from [src], and it nuzzles [user] before burbling hungrily!")) - new_slime.set_friendship(user, 20) //Gas, gas, gas + new_slime.befriend(user) //Gas, gas, gas new_slime.bodytemperature = T0C + 400 //We gonna step on the gas. - new_slime.set_nutrition(new_slime.hunger_nutrition) //Tonight, we fight! + new_slime.set_nutrition(SLIME_HUNGER_NUTRITION) //Tonight, we fight! ..() /obj/item/slimecross/burning/orange @@ -198,15 +198,12 @@ Burning extracts: /obj/item/slimecross/burning/red/do_effect(mob/user) user.visible_message(span_danger("[src] pulses a hazy red aura for a moment, which wraps around [user]!")) - for(var/mob/living/simple_animal/slime/slimes_in_view in view(7, get_turf(user))) - if(user in slimes_in_view.Friends) - var/friendliness = slimes_in_view.Friends[user] - slimes_in_view.clear_friends() - slimes_in_view.set_friendship(user, friendliness) - else - slimes_in_view.clear_friends() - slimes_in_view.rabid = TRUE - slimes_in_view.visible_message(span_danger("The [slimes_in_view] is driven into a dangerous frenzy!")) + for(var/mob/living/basic/slime/slime_in_view in view(7, get_turf(user))) + var/list/mob/living/friends = slime_in_view.ai_controller?.blackboard[BB_FRIENDS_LIST] - user + for(var/list/mob/living/ex_friend in friends) + slime_in_view.unfriend(ex_friend) + slime_in_view.set_enraged_behaviour() + slime_in_view.visible_message(span_danger("The [slime_in_view] is driven into a dangerous frenzy!")) ..() /obj/item/slimecross/burning/green diff --git a/code/modules/research/xenobiology/crossbreeding/charged.dm b/code/modules/research/xenobiology/crossbreeding/charged.dm index cde5e234afd..0440c7e9205 100644 --- a/code/modules/research/xenobiology/crossbreeding/charged.dm +++ b/code/modules/research/xenobiology/crossbreeding/charged.dm @@ -278,6 +278,6 @@ Charged extracts: /obj/item/slimecross/charged/rainbow/do_effect(mob/user) user.visible_message(span_warning("[src] swells and splits into three new slimes!")) for(var/i in 1 to 3) - var/mob/living/simple_animal/slime/new_slime = new(get_turf(user)) + var/mob/living/basic/slime/new_slime = new (get_turf(user)) new_slime.random_colour() return ..() diff --git a/code/modules/research/xenobiology/crossbreeding/chilling.dm b/code/modules/research/xenobiology/crossbreeding/chilling.dm index 8890db9a890..2a23e34cb17 100644 --- a/code/modules/research/xenobiology/crossbreeding/chilling.dm +++ b/code/modules/research/xenobiology/crossbreeding/chilling.dm @@ -236,9 +236,9 @@ Chilling extracts: /obj/item/slimecross/chilling/red/do_effect(mob/user) var/slimesfound = FALSE - for(var/mob/living/simple_animal/slime/slimes_in_view in view(get_turf(user), 7)) + for(var/mob/living/basic/slime/slime_in_view in view(get_turf(user), 7)) slimesfound = TRUE - slimes_in_view.docile = TRUE + slime_in_view.set_pacified_behaviour() if(slimesfound) user.visible_message(span_notice("[src] lets out a peaceful ring as it shatters, and nearby slimes seem calm.")) else diff --git a/code/modules/research/xenobiology/crossbreeding/regenerative.dm b/code/modules/research/xenobiology/crossbreeding/regenerative.dm index 73e69537a92..ee02a18f11f 100644 --- a/code/modules/research/xenobiology/crossbreeding/regenerative.dm +++ b/code/modules/research/xenobiology/crossbreeding/regenerative.dm @@ -197,7 +197,7 @@ Regenerative extracts: /obj/item/slimecross/regenerative/green/core_effect(mob/living/target, mob/user) if(isslime(target)) target.visible_message(span_warning("The [target] suddenly changes color!")) - var/mob/living/simple_animal/slime/target_slime = target + var/mob/living/basic/slime/target_slime = target target_slime.random_colour() if(isjellyperson(target)) target.reagents.add_reagent(/datum/reagent/mutationtoxin/jelly,5) @@ -237,7 +237,7 @@ Regenerative extracts: /obj/item/slimecross/regenerative/black/core_effect_before(mob/living/target, mob/user) var/dummytype = target.type if(ismegafauna(target)) //Prevents megafauna duping in a lame way - dummytype = /mob/living/simple_animal/slime + dummytype = /mob/living/basic/slime to_chat(user, span_warning("The milky goo flows over [target], falling into a weak puddle.")) var/mob/living/dummy = new dummytype(target.loc) to_chat(target, span_notice("The milky goo flows from your skin, forming an imperfect copy of you.")) diff --git a/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm b/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm index 08caca83854..b170cb19fd7 100644 --- a/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm +++ b/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm @@ -246,7 +246,7 @@ /datum/reagent/consumable/ice = -2) //Brrr! virus_suspectibility = 0 - resulting_atoms = list(/mob/living/simple_animal/slime = 1) + resulting_atoms = list(/mob/living/basic/slime = 1) /datum/micro_organism/cell_line/blob_spore //nuisance cell line desc = "Immature blob spores" diff --git a/code/modules/research/xenobiology/xenobio_camera.dm b/code/modules/research/xenobiology/xenobio_camera.dm index 27de108c0cb..de97ea7bf69 100644 --- a/code/modules/research/xenobiology/xenobio_camera.dm +++ b/code/modules/research/xenobiology/xenobio_camera.dm @@ -27,7 +27,7 @@ /obj/machinery/computer/camera_advanced/xenobio name = "Slime management console" desc = "A computer used for remotely handling slimes." - networks = list("ss13") + networks = list(CAMERANET_NETWORK_SS13) circuit = /obj/item/circuitboard/computer/xenobiology ///The recycler connected to the camera console @@ -68,7 +68,7 @@ /obj/machinery/computer/camera_advanced/xenobio/Destroy() QDEL_NULL(current_potion) for(var/thing in stored_slimes) - var/mob/living/simple_animal/slime/stored_slime = thing + var/mob/living/basic/slime/stored_slime = thing stored_slime.forceMove(drop_location()) stored_slimes.Cut() if(connected_recycler) @@ -167,14 +167,14 @@ Due to keyboard shortcuts, the second one is not necessarily the remote eye's lo ///Places every slime in storage on target turf /obj/machinery/computer/camera_advanced/xenobio/proc/slime_place(turf/open/target_turf) - for(var/mob/living/simple_animal/slime/stored_slime in stored_slimes) + for(var/mob/living/basic/slime/stored_slime in stored_slimes) stored_slime.forceMove(target_turf) stored_slime.visible_message(span_notice("[stored_slime] warps in!")) stored_slimes -= stored_slime ///Places every slime not controlled by a player into the internal storage, respecting its limits ///Returns TRUE to signal it hitting the limit, in case its being called from a loop and we want it to stop -/obj/machinery/computer/camera_advanced/xenobio/proc/slime_pickup(mob/living/user, mob/living/simple_animal/slime/target_slime) +/obj/machinery/computer/camera_advanced/xenobio/proc/slime_pickup(mob/living/user, mob/living/basic/slime/target_slime) if(stored_slimes.len >= max_slimes) to_chat(user, span_warning("Slime storage is full.")) return TRUE @@ -199,7 +199,8 @@ Due to keyboard shortcuts, the second one is not necessarily the remote eye's lo if (QDELETED(food)) return - food.LAssailant = WEAKREF(user) + food.apply_status_effect(/datum/status_effect/slime_food, user) + monkeys-- monkeys = round(monkeys, 0.1) //Prevents rounding errors to_chat(user, span_notice("[src] now has [monkeys] monkeys stored.")) @@ -250,7 +251,7 @@ Due to keyboard shortcuts, the second one is not necessarily the remote eye's lo if(!xeno_console.validate_area(owner, remote_eye, remote_eye.loc)) return - for(var/mob/living/simple_animal/slime/target_slime in remote_eye.loc) + for(var/mob/living/basic/slime/target_slime in remote_eye.loc) if(xeno_console.slime_pickup(owner_mob, target_slime)) ///Returns true if we hit our slime pickup limit break @@ -310,7 +311,7 @@ Due to keyboard shortcuts, the second one is not necessarily the remote eye's lo if(!xeno_console.validate_area(owner, remote_eye, remote_eye.loc)) return - for(var/mob/living/simple_animal/slime/scanned_slime in remote_eye.loc) + for(var/mob/living/basic/slime/scanned_slime in remote_eye.loc) slime_scan(scanned_slime, owner_mob) /datum/action/innate/feed_potion @@ -333,7 +334,7 @@ Due to keyboard shortcuts, the second one is not necessarily the remote eye's lo to_chat(owner, span_warning("No potion loaded.")) return - for(var/mob/living/simple_animal/slime/potioned_slime in remote_eye.loc) + for(var/mob/living/basic/slime/potioned_slime in remote_eye.loc) xeno_console.current_potion.attack(potioned_slime, owner_mob) break @@ -359,11 +360,11 @@ Due to keyboard shortcuts, the second one is not necessarily the remote eye's lo // Alternate clicks for slime, monkey and open turf if using a xenobio console -/mob/living/simple_animal/slime/AltClick(mob/user) +/mob/living/basic/slime/AltClick(mob/user) SEND_SIGNAL(user, COMSIG_XENO_SLIME_CLICK_ALT, src) ..() -/mob/living/simple_animal/slime/ShiftClick(mob/user) +/mob/living/basic/slime/ShiftClick(mob/user) SEND_SIGNAL(user, COMSIG_XENO_SLIME_CLICK_SHIFT, src) ..() @@ -371,7 +372,7 @@ Due to keyboard shortcuts, the second one is not necessarily the remote eye's lo SEND_SIGNAL(user, COMSIG_XENO_TURF_CLICK_SHIFT, src) ..() -/mob/living/simple_animal/slime/CtrlClick(mob/user) +/mob/living/basic/slime/CtrlClick(mob/user) SEND_SIGNAL(user, COMSIG_XENO_SLIME_CLICK_CTRL, src) ..() @@ -384,7 +385,7 @@ Due to keyboard shortcuts, the second one is not necessarily the remote eye's lo ..() /// Scans the target slime -/obj/machinery/computer/camera_advanced/xenobio/proc/XenoSlimeClickCtrl(mob/living/user, mob/living/simple_animal/slime/target_slime) +/obj/machinery/computer/camera_advanced/xenobio/proc/XenoSlimeClickCtrl(mob/living/user, mob/living/basic/slime/target_slime) SIGNAL_HANDLER var/mob/camera/ai_eye/remote/xenobio/remote_eye = user.remote_control @@ -396,7 +397,7 @@ Due to keyboard shortcuts, the second one is not necessarily the remote eye's lo slime_scan(target_slime, user) ///Feeds a stored potion to a slime -/obj/machinery/computer/camera_advanced/xenobio/proc/XenoSlimeClickAlt(mob/living/user, mob/living/simple_animal/slime/target_slime) +/obj/machinery/computer/camera_advanced/xenobio/proc/XenoSlimeClickAlt(mob/living/user, mob/living/basic/slime/target_slime) SIGNAL_HANDLER var/mob/camera/ai_eye/remote/xenobio/remote_eye = user.remote_control @@ -412,7 +413,7 @@ Due to keyboard shortcuts, the second one is not necessarily the remote eye's lo INVOKE_ASYNC(xeno_console.current_potion, TYPE_PROC_REF(/obj/item/slimepotion/slime, attack), target_slime, user) ///Picks up a slime, and places them in the internal storage -/obj/machinery/computer/camera_advanced/xenobio/proc/XenoSlimeClickShift(mob/living/user, mob/living/simple_animal/slime/target_slime) +/obj/machinery/computer/camera_advanced/xenobio/proc/XenoSlimeClickShift(mob/living/user, mob/living/basic/slime/target_slime) SIGNAL_HANDLER var/mob/camera/ai_eye/remote/xenobio/remote_eye = user.remote_control diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index d154b141f8d..866b2902b33 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -67,7 +67,7 @@ * * By using a valid core on a living adult slime, then feeding it nine more of the same type, you can mutate it into more useful items. Not every slime type has an implemented core cross. */ -/obj/item/slime_extract/attack(mob/living/simple_animal/slime/target_slime, mob/user) +/obj/item/slime_extract/attack(mob/living/basic/slime/target_slime, mob/user) if(!isslime(target_slime)) return ..() if(target_slime.stat) @@ -109,9 +109,9 @@ if(SLIME_ACTIVATE_MAJOR) to_chat(user, span_notice("Your [name] starts pulsing...")) if(do_after(user, 40, target = user)) - var/mob/living/simple_animal/slime/S = new(get_turf(user), /datum/slime_type/grey) + var/mob/living/basic/slime/new_slime = new(get_turf(user), /datum/slime_type/grey) playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - to_chat(user, span_notice("You spit out [S].")) + to_chat(user, span_notice("You spit out [new_slime].")) return 350 else return 0 @@ -299,8 +299,8 @@ if(SLIME_ACTIVATE_MAJOR) user.visible_message(span_warning("[user]'s skin flashes red for a moment..."), span_warning("Your skin flashes red as you emit rage-inducing pheromones...")) - for(var/mob/living/simple_animal/slime/slime in viewers(get_turf(user), null)) - slime.rabid = TRUE + for(var/mob/living/basic/slime/slime in viewers(get_turf(user), null)) + slime.ai_controller?.set_blackboard_key(BB_SLIME_RABID, TRUE) slime.visible_message(span_danger("The [slime] is driven into a frenzy!")) return 600 @@ -658,29 +658,28 @@ icon = 'icons/obj/medical/chemical.dmi' icon_state = "potsilver" -/obj/item/slimepotion/slime/docility/attack(mob/living/simple_animal/slime/M, mob/user) - if(!isslime(M)) +/obj/item/slimepotion/slime/docility/attack(mob/living/basic/slime/target_slime, mob/user) + if(!isslime(target_slime)) to_chat(user, span_warning("The potion only works on slimes!")) return ..() - if(M.stat) + if(target_slime.stat) to_chat(user, span_warning("The slime is dead!")) return - if(M.rabid) //Stops being rabid, but doesn't become truly docile. - to_chat(M, span_warning("You absorb the potion, and your rabid hunger finally settles to a normal desire to feed.")) + if(target_slime.ai_controller?.clear_blackboard_key(BB_SLIME_RABID)) //Stops being rabid, but doesn't become truly docile. + to_chat(target_slime, span_warning("You absorb the potion, and your rabid hunger finally settles to a normal desire to feed.")) to_chat(user, span_notice("You feed the slime the potion, calming its rabid rage.")) - M.rabid = FALSE + target_slime.set_default_behaviour() qdel(src) return - M.docile = TRUE - M.set_nutrition(700) - to_chat(M, span_warning("You absorb the potion and feel your intense desire to feed melt away.")) + target_slime.set_pacified_behaviour() + to_chat(target_slime, span_warning("You absorb the potion and feel your intense desire to feed melt away.")) to_chat(user, span_notice("You feed the slime the potion, removing its hunger and calming it.")) var/newname = sanitize_name(tgui_input_text(user, "Would you like to give the slime a name?", "Name your new pet", "Pet Slime", MAX_NAME_LEN)) if (!newname) newname = "Pet Slime" - M.name = newname - M.real_name = newname + target_slime.name = newname + target_slime.real_name = newname qdel(src) /obj/item/slimepotion/slime/sentience @@ -829,7 +828,7 @@ icon = 'icons/obj/medical/chemical.dmi' icon_state = "potred" -/obj/item/slimepotion/slime/steroid/attack(mob/living/simple_animal/slime/target, mob/user) +/obj/item/slimepotion/slime/steroid/attack(mob/living/basic/slime/target, mob/user) if(!isslime(target))//If target is not a slime. to_chat(user, span_warning("The steroid only works on baby slimes!")) return ..() @@ -859,19 +858,19 @@ icon = 'icons/obj/medical/chemical.dmi' icon_state = "potcyan" -/obj/item/slimepotion/slime/stabilizer/attack(mob/living/simple_animal/slime/M, mob/user) - if(!isslime(M)) +/obj/item/slimepotion/slime/stabilizer/attack(mob/living/basic/slime/target_slime, mob/user) + if(!isslime(target_slime)) to_chat(user, span_warning("The stabilizer only works on slimes!")) return ..() - if(M.stat) + if(target_slime.stat) to_chat(user, span_warning("The slime is dead!")) return - if(M.mutation_chance == 0) + if(target_slime.mutation_chance == 0) to_chat(user, span_warning("The slime already has no chance of mutating!")) return to_chat(user, span_notice("You feed the slime the stabilizer. It is now less likely to mutate.")) - M.mutation_chance = clamp(M.mutation_chance-15,0,100) + target_slime.mutation_chance = clamp(target_slime.mutation_chance-15,0,100) qdel(src) /obj/item/slimepotion/slime/mutator @@ -880,23 +879,23 @@ icon = 'icons/obj/medical/chemical.dmi' icon_state = "potgreen" -/obj/item/slimepotion/slime/mutator/attack(mob/living/simple_animal/slime/M, mob/user) - if(!isslime(M)) +/obj/item/slimepotion/slime/mutator/attack(mob/living/basic/slime/target_slime, mob/user) + if(!isslime(target_slime)) to_chat(user, span_warning("The mutator only works on slimes!")) return ..() - if(M.stat) + if(target_slime.stat) to_chat(user, span_warning("The slime is dead!")) return - if(M.mutator_used) + if(target_slime.mutator_used) to_chat(user, span_warning("This slime has already consumed a mutator, any more would be far too unstable!")) return - if(M.mutation_chance == 100) + if(target_slime.mutation_chance == 100) to_chat(user, span_warning("The slime is already guaranteed to mutate!")) return to_chat(user, span_notice("You feed the slime the mutator. It is now more likely to mutate.")) - M.mutation_chance = clamp(M.mutation_chance+12,0,100) - M.mutator_used = TRUE + target_slime.mutation_chance = clamp(target_slime.mutation_chance+12,0,100) + target_slime.mutator_used = TRUE qdel(src) /obj/item/slimepotion/speed diff --git a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm index b44cdc26a90..a5569d803b0 100644 --- a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm @@ -126,61 +126,42 @@ burn_modifier = 0.5 // = 1/2x generic burn damage ///SLIME -/obj/item/bodypart/head/slime - biological_state = (BIO_FLESH|BIO_BLOODED) +/obj/item/bodypart/head/jelly/slime limb_id = SPECIES_SLIMEPERSON is_dimorphic = FALSE - head_flags = HEAD_EYECOLOR | HEAD_EYESPRITES | HEAD_HAIR | HEAD_FACIAL_HAIR -/obj/item/bodypart/chest/slime - biological_state = (BIO_FLESH|BIO_BLOODED) - limb_id = SPECIES_SLIMEPERSON - is_dimorphic = TRUE - wing_types = list(/obj/item/organ/external/wings/functional/slime) - -/obj/item/bodypart/arm/left/slime - biological_state = (BIO_FLESH|BIO_BLOODED) +/obj/item/bodypart/chest/jelly/slime limb_id = SPECIES_SLIMEPERSON -/obj/item/bodypart/arm/right/slime - biological_state = (BIO_FLESH|BIO_BLOODED) +/obj/item/bodypart/arm/left/jelly/slime limb_id = SPECIES_SLIMEPERSON -/obj/item/bodypart/leg/left/slime - biological_state = (BIO_FLESH|BIO_BLOODED) +/obj/item/bodypart/arm/right/jelly/slime limb_id = SPECIES_SLIMEPERSON -/obj/item/bodypart/leg/right/slime - biological_state = (BIO_FLESH|BIO_BLOODED) +/obj/item/bodypart/leg/left/jelly/slime + limb_id = SPECIES_SLIMEPERSON + +/obj/item/bodypart/leg/right/jelly/slime limb_id = SPECIES_SLIMEPERSON ///LUMINESCENT -/obj/item/bodypart/head/luminescent - biological_state = (BIO_FLESH|BIO_BLOODED) - limb_id = SPECIES_LUMINESCENT - is_dimorphic = TRUE - head_flags = HEAD_EYECOLOR | HEAD_EYESPRITES | HEAD_HAIR | HEAD_FACIAL_HAIR - -/obj/item/bodypart/chest/luminescent - biological_state = (BIO_FLESH|BIO_BLOODED) - limb_id = SPECIES_LUMINESCENT - is_dimorphic = TRUE - wing_types = list(/obj/item/organ/external/wings/functional/slime) - -/obj/item/bodypart/arm/left/luminescent - biological_state = (BIO_FLESH|BIO_BLOODED) +/obj/item/bodypart/head/jelly/luminescent limb_id = SPECIES_LUMINESCENT -/obj/item/bodypart/arm/right/luminescent - biological_state = (BIO_FLESH|BIO_BLOODED) +/obj/item/bodypart/chest/jelly/luminescent limb_id = SPECIES_LUMINESCENT -/obj/item/bodypart/leg/left/luminescent - biological_state = (BIO_FLESH|BIO_BLOODED) +/obj/item/bodypart/arm/left/jelly/luminescent limb_id = SPECIES_LUMINESCENT -/obj/item/bodypart/leg/right/luminescent - biological_state = (BIO_FLESH|BIO_BLOODED) +/obj/item/bodypart/arm/right/jelly/luminescent + limb_id = SPECIES_LUMINESCENT + +/obj/item/bodypart/leg/left/jelly/luminescent + limb_id = SPECIES_LUMINESCENT + +/obj/item/bodypart/leg/right/jelly/luminescent limb_id = SPECIES_LUMINESCENT ///ZOMBIE diff --git a/code/modules/surgery/core_removal.dm b/code/modules/surgery/core_removal.dm index aa4028997e7..deda90bdd6e 100644 --- a/code/modules/surgery/core_removal.dm +++ b/code/modules/surgery/core_removal.dm @@ -1,6 +1,6 @@ /datum/surgery/core_removal name = "Core removal" - target_mobtypes = list(/mob/living/simple_animal/slime) + target_mobtypes = list(/mob/living/basic/slime) surgery_flags = SURGERY_IGNORE_CLOTHES possible_locs = list( BODY_ZONE_R_ARM, @@ -36,7 +36,7 @@ ) /datum/surgery_step/extract_core/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) - var/mob/living/simple_animal/slime/target_slime = target + var/mob/living/basic/slime/target_slime = target if(target_slime.cores > 0) target_slime.cores-- display_results( diff --git a/code/modules/surgery/organs/internal/lungs/_lungs.dm b/code/modules/surgery/organs/internal/lungs/_lungs.dm index 1db1963e8d6..8bba59d7987 100644 --- a/code/modules/surgery/organs/internal/lungs/_lungs.dm +++ b/code/modules/surgery/organs/internal/lungs/_lungs.dm @@ -754,31 +754,85 @@ if(!HAS_TRAIT(breather, TRAIT_RESISTCOLD)) // COLD DAMAGE var/cold_modifier = breather.dna.species.coldmod + var/breath_effect_prob = 0 if(breath_temperature < cold_level_3_threshold) - breather.apply_damage(cold_level_3_damage*cold_modifier, cold_damage_type, spread_damage = TRUE) + breather.apply_damage(cold_level_3_damage * cold_modifier, cold_damage_type, spread_damage = TRUE) + breath_effect_prob = 100 if(breath_temperature > cold_level_3_threshold && breath_temperature < cold_level_2_threshold) - breather.apply_damage(cold_level_2_damage*cold_modifier, cold_damage_type, spread_damage = TRUE) + breather.apply_damage(cold_level_2_damage * cold_modifier, cold_damage_type, spread_damage = TRUE) + breath_effect_prob = 50 if(breath_temperature > cold_level_2_threshold && breath_temperature < cold_level_1_threshold) - breather.apply_damage(cold_level_1_damage*cold_modifier, cold_damage_type, spread_damage = TRUE) + breather.apply_damage(cold_level_1_damage * cold_modifier, cold_damage_type, spread_damage = TRUE) + breath_effect_prob = 25 if(breath_temperature < cold_level_1_threshold) - if(prob(20)) + if(prob(sqrt(breath_effect_prob) * 4)) to_chat(breather, span_warning("You feel [cold_message] in your [name]!")) + if(prob(50)) + breather.emote("shiver") + if(prob(breath_effect_prob)) + // Breathing into your mask, no particle. We can add fogged up glasses later + if(breather.is_mouth_covered()) + return + // Even though breathing via internals TECHNICALLY exhales into the environment, we'll still block it + if(breather.internal || breather.external) + return + emit_breath_particle(breather, /particles/fog/breath) if(!HAS_TRAIT(breather, TRAIT_RESISTHEAT)) // HEAT DAMAGE var/heat_modifier = breather.dna.species.heatmod + var/heat_message_prob = 0 if(breath_temperature > heat_level_1_threshold && breath_temperature < heat_level_2_threshold) - breather.apply_damage(heat_level_1_damage*heat_modifier, heat_damage_type, spread_damage = TRUE) + breather.apply_damage(heat_level_1_damage * heat_modifier, heat_damage_type, spread_damage = TRUE) + heat_message_prob = 100 if(breath_temperature > heat_level_2_threshold && breath_temperature < heat_level_3_threshold) - breather.apply_damage(heat_level_2_damage*heat_modifier, heat_damage_type, spread_damage = TRUE) + breather.apply_damage(heat_level_2_damage * heat_modifier, heat_damage_type, spread_damage = TRUE) + heat_message_prob = 50 if(breath_temperature > heat_level_3_threshold) - breather.apply_damage(heat_level_3_damage*heat_modifier, heat_damage_type, spread_damage = TRUE) + breather.apply_damage(heat_level_3_damage * heat_modifier, heat_damage_type, spread_damage = TRUE) + heat_message_prob = 25 if(breath_temperature > heat_level_1_threshold) - if(prob(20)) + if(prob(sqrt(heat_message_prob) * 4)) to_chat(breather, span_warning("You feel [hot_message] in your [name]!")) // The air you breathe out should match your body temperature breath.temperature = breather.bodytemperature +/// Creates a particle effect off the mouth of the passed mob. +/obj/item/organ/internal/lungs/proc/emit_breath_particle(mob/living/carbon/human/breather, particle_type) + ASSERT(ispath(particle_type, /particles)) + + var/obj/effect/abstract/particle_holder/holder = new(breather, particle_type) + var/particles/breath_particle = holder.particles + var/breath_dir = breather.dir + + var/list/particle_grav = list(0, 0.1, 0) + var/list/particle_pos = list(0, breather.get_mob_height() + 2, 0) + if(breath_dir & NORTH) + particle_grav[2] = 0.2 + breath_particle.rotation = pick(-45, 45) + // Layer it behind the mob since we're facing away from the camera + holder.pixel_w -= 4 + holder.pixel_y += 4 + if(breath_dir & WEST) + particle_grav[1] = -0.2 + particle_pos[1] = -5 + breath_particle.rotation = -45 + if(breath_dir & EAST) + particle_grav[1] = 0.2 + particle_pos[1] = 5 + breath_particle.rotation = 45 + if(breath_dir & SOUTH) + particle_grav[2] = 0.2 + breath_particle.rotation = pick(-45, 45) + // Shouldn't be necessary but just for parity + holder.pixel_w += 4 + holder.pixel_y -= 4 + + breath_particle.gravity = particle_grav + breath_particle.position = particle_pos + + QDEL_IN(holder, breath_particle.lifespan) + /obj/item/organ/internal/lungs/on_life(seconds_per_tick, times_fired) . = ..() if(failed && !(organ_flags & ORGAN_FAILING)) diff --git a/code/modules/unit_tests/focus_only_tests.dm b/code/modules/unit_tests/focus_only_tests.dm index 927be7d8bc0..15d04ee8852 100644 --- a/code/modules/unit_tests/focus_only_tests.dm +++ b/code/modules/unit_tests/focus_only_tests.dm @@ -44,3 +44,6 @@ /// Checks that the contents of the fish_counts list are also present in fish_table /datum/unit_test/focus_only/fish_sources_tables + +/// Checks that maploaded mobs with either the `atmos_requirements` or `body_temp_sensitive` +/datum/unit_test/focus_only/atmos_and_temp_requirements diff --git a/code/modules/unit_tests/mapload_space_verification.dm b/code/modules/unit_tests/mapload_space_verification.dm index da35af1d176..35556c85fb4 100644 --- a/code/modules/unit_tests/mapload_space_verification.dm +++ b/code/modules/unit_tests/mapload_space_verification.dm @@ -23,6 +23,8 @@ /area/shuttle/abandoned, // Solars have lattices over space turfs, and are a valid placement for space turfs in a station area. /area/station/solars, + //Birdshot Atmos has a special area, so we'll exclude that from lints here. + /area/station/engineering/atmos/space_catwalk, )) // We aren't planetary, so let's check area placements and ensure stuff lines up. diff --git a/code/modules/unit_tests/required_map_items.dm b/code/modules/unit_tests/required_map_items.dm index 73499c83b6d..145f5fd34ce 100644 --- a/code/modules/unit_tests/required_map_items.dm +++ b/code/modules/unit_tests/required_map_items.dm @@ -14,7 +14,7 @@ /// More detailed information about each item (mainly, how much of each should exist) is set on a per item basis /datum/unit_test/required_map_items/proc/setup_expected_types() expected_types += subtypesof(/obj/item/stamp/head) - expected_types += subtypesof(/obj/machinery/computer/department_orders) + expected_types += subtypesof(/obj/machinery/modular_computer/preset/cargochat) expected_types += /mob/living/basic/parrot/poly expected_types += /mob/living/basic/pet/dog/corgi/ian diff --git a/code/modules/unit_tests/simple_animal_freeze.dm b/code/modules/unit_tests/simple_animal_freeze.dm index 9d5ddaab989..1061f6dc585 100644 --- a/code/modules/unit_tests/simple_animal_freeze.dm +++ b/code/modules/unit_tests/simple_animal_freeze.dm @@ -78,10 +78,6 @@ /mob/living/simple_animal/pet/gondola, /mob/living/simple_animal/pet/gondola/gondolapod, /mob/living/simple_animal/pet/gondola/virtual_domain, - /mob/living/simple_animal/slime, - /mob/living/simple_animal/slime/pet, - /mob/living/simple_animal/slime/random, - /mob/living/simple_animal/slime/transformed_slime, /mob/living/simple_animal/soulscythe, //MODULAR SKYRAT ENTRIES diff --git a/code/modules/unit_tests/slime_mood.dm b/code/modules/unit_tests/slime_mood.dm index a0d3edb95c1..f3c02b612c9 100644 --- a/code/modules/unit_tests/slime_mood.dm +++ b/code/modules/unit_tests/slime_mood.dm @@ -2,7 +2,7 @@ /datum/unit_test/slime_mood /datum/unit_test/slime_mood/Run() - var/mob/living/simple_animal/slime/emoting_slime = allocate(/mob/living/simple_animal/slime) + var/mob/living/basic/slime/emoting_slime = allocate(/mob/living/basic/slime) for(var/key in GLOB.emote_list) for(var/datum/emote/slime/mood/slime_mood in GLOB.emote_list[key]) diff --git a/code/modules/unit_tests/strange_reagent.dm b/code/modules/unit_tests/strange_reagent.dm index 6c3add3092d..ac8ad5cb6df 100644 --- a/code/modules/unit_tests/strange_reagent.dm +++ b/code/modules/unit_tests/strange_reagent.dm @@ -18,7 +18,7 @@ types_to_check -= /mob/living/simple_animal/pet/gondola/gondolapod // need a pod, which we don't have types_to_check -= typesof(/mob/living/simple_animal/hostile/megafauna) // no types_to_check -= typesof(/mob/living/basic/mouse) // qdel themselves on death; why dont they use DEL_ON_DEATH you might ask. I-unno - types_to_check -= typesof(/mob/living/simple_animal/slime) // if they roll the 50% chance to spawn as an adult, they can just at random split and qdel themselves + types_to_check -= typesof(/mob/living/basic/slime) // if they roll the 50% chance to spawn as an adult, they can just at random split and qdel themselves for(var/mob/living/type as anything in types_to_check) var/mob/living/target = allocate_new_target(type) @@ -153,7 +153,7 @@ return if(QDELETED(target)) return - + update_amounts(target) strange_reagent.expose_mob(target, INGEST, amount_needed_to_revive) TEST_ASSERT_EQUAL(target.stat, DEAD, "Strange Reagent revived a target type [target.type] with more than double their max health in damage.") diff --git a/code/modules/vehicles/mecha/equipment/tools/other_tools.dm b/code/modules/vehicles/mecha/equipment/tools/other_tools.dm index 047d84543e8..067ad2250f0 100644 --- a/code/modules/vehicles/mecha/equipment/tools/other_tools.dm +++ b/code/modules/vehicles/mecha/equipment/tools/other_tools.dm @@ -519,7 +519,7 @@ . = ..() - mech.chassis_camera = new /obj/machinery/camera/exosuit (mech) + mech.chassis_camera = new /obj/machinery/camera/exosuit(mech) mech.chassis_camera.update_c_tag(mech) mech.diag_hud_set_camera() diff --git a/config/game_options.txt b/config/game_options.txt index 646eab9ceb7..3cd2f34cc09 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -43,7 +43,7 @@ WALK_DELAY 4 ##MULTIPLICATIVE_MOVESPEED /mob/living/carbon/human 0 ##MULTIPLICATIVE_MOVESPEED /mob/living/silicon/robot 0 ##MULTIPLICATIVE_MOVESPEED /mob/living/carbon/alien 0 -##MULTIPLICATIVE_MOVESPEED /mob/living/simple_animal/slime 0 +##MULTIPLICATIVE_MOVESPEED /mob/living/basic/slime 0 MULTIPLICATIVE_MOVESPEED /mob/living/simple_animal 0 MULTIPLICATIVE_MOVESPEED /mob/living/basic 0 diff --git a/dependencies.sh b/dependencies.sh index 55db2e6b1d8..300e2826c6f 100644 --- a/dependencies.sh +++ b/dependencies.sh @@ -5,7 +5,7 @@ # byond version export BYOND_MAJOR=515 -export BYOND_MINOR=1630 +export BYOND_MINOR=1633 #rust_g git tag export RUST_G_VERSION=3.1.0 diff --git a/icons/effects/particles/smoke.dmi b/icons/effects/particles/smoke.dmi index 4a3239499b9..99123beeb59 100644 Binary files a/icons/effects/particles/smoke.dmi and b/icons/effects/particles/smoke.dmi differ diff --git a/icons/hud/lobby/signup_button.dmi b/icons/hud/lobby/signup_button.dmi index 1057c53ba41..7be07a7fc09 100644 Binary files a/icons/hud/lobby/signup_button.dmi and b/icons/hud/lobby/signup_button.dmi differ diff --git a/icons/hud/screen_alert.dmi b/icons/hud/screen_alert.dmi index e1c5db84d22..6fe43ee6ea5 100755 Binary files a/icons/hud/screen_alert.dmi and b/icons/hud/screen_alert.dmi differ diff --git a/icons/mob/clothing/feet.dmi b/icons/mob/clothing/feet.dmi index 612d82302e7..3ae1eb68e86 100644 Binary files a/icons/mob/clothing/feet.dmi and b/icons/mob/clothing/feet.dmi differ diff --git a/icons/mob/clothing/head/costume.dmi b/icons/mob/clothing/head/costume.dmi index 4bce495a291..1f4f12ff8c8 100644 Binary files a/icons/mob/clothing/head/costume.dmi and b/icons/mob/clothing/head/costume.dmi differ diff --git a/icons/mob/clothing/suits/costume.dmi b/icons/mob/clothing/suits/costume.dmi index 3dfaf138da8..4a1c107e844 100644 Binary files a/icons/mob/clothing/suits/costume.dmi and b/icons/mob/clothing/suits/costume.dmi differ diff --git a/icons/mob/clothing/under/civilian.dmi b/icons/mob/clothing/under/civilian.dmi index 7283996c3b1..d172185d4a4 100644 Binary files a/icons/mob/clothing/under/civilian.dmi and b/icons/mob/clothing/under/civilian.dmi differ diff --git a/icons/obj/antags/syndicate_tools.dmi b/icons/obj/antags/syndicate_tools.dmi index 05a4c405d7d..1bab5c7e77a 100644 Binary files a/icons/obj/antags/syndicate_tools.dmi and b/icons/obj/antags/syndicate_tools.dmi differ diff --git a/icons/obj/clothing/head/costume.dmi b/icons/obj/clothing/head/costume.dmi index e72c278b6eb..25bc62a5314 100644 Binary files a/icons/obj/clothing/head/costume.dmi and b/icons/obj/clothing/head/costume.dmi differ diff --git a/icons/obj/clothing/shoes.dmi b/icons/obj/clothing/shoes.dmi index 37f561bb44b..ec2a128a865 100644 Binary files a/icons/obj/clothing/shoes.dmi and b/icons/obj/clothing/shoes.dmi differ diff --git a/icons/obj/clothing/suits/costume.dmi b/icons/obj/clothing/suits/costume.dmi index f87a74c263f..0bae97805b7 100644 Binary files a/icons/obj/clothing/suits/costume.dmi and b/icons/obj/clothing/suits/costume.dmi differ diff --git a/icons/obj/clothing/under/civilian.dmi b/icons/obj/clothing/under/civilian.dmi index 8552c5b9660..8f7c28ca047 100644 Binary files a/icons/obj/clothing/under/civilian.dmi and b/icons/obj/clothing/under/civilian.dmi differ diff --git a/icons/obj/machines/computer.dmi b/icons/obj/machines/computer.dmi index aae3a83a455..f8fb31c9ba0 100644 Binary files a/icons/obj/machines/computer.dmi and b/icons/obj/machines/computer.dmi differ diff --git a/icons/obj/machines/modular_console.dmi b/icons/obj/machines/modular_console.dmi index 7b370a76785..6a8348e1b8e 100644 Binary files a/icons/obj/machines/modular_console.dmi and b/icons/obj/machines/modular_console.dmi differ diff --git a/icons/obj/machines/photobooth.dmi b/icons/obj/machines/photobooth.dmi new file mode 100644 index 00000000000..c4e812bdf47 Binary files /dev/null and b/icons/obj/machines/photobooth.dmi differ diff --git a/icons/obj/storage/box.dmi b/icons/obj/storage/box.dmi index 8e34ac8f8de..8b037860144 100644 Binary files a/icons/obj/storage/box.dmi and b/icons/obj/storage/box.dmi differ diff --git a/icons/obj/toys/stickers.dmi b/icons/obj/toys/stickers.dmi index 9fc6c30791d..bec0548cd29 100644 Binary files a/icons/obj/toys/stickers.dmi and b/icons/obj/toys/stickers.dmi differ diff --git a/modular_skyrat/master_files/code/modules/mob/living/simple_animal/hostile/grabbagmob.dm b/modular_skyrat/master_files/code/modules/mob/living/simple_animal/hostile/grabbagmob.dm index 85c3c90351a..aae6f808439 100644 --- a/modular_skyrat/master_files/code/modules/mob/living/simple_animal/hostile/grabbagmob.dm +++ b/modular_skyrat/master_files/code/modules/mob/living/simple_animal/hostile/grabbagmob.dm @@ -73,7 +73,7 @@ attack_sound = 'sound/weapons/punch1.ogg' combat_mode = TRUE loot = list(/obj/effect/gibspawner/human) - atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null unsuitable_atmos_damage = 7.5 faction = list(FACTION_HOSTILE, FACTION_CULT) status_flags = CANPUSH @@ -197,7 +197,7 @@ weather_immunities = list(TRAIT_LAVA_IMMUNE, TRAIT_ASHSTORM_IMMUNE) minbodytemp = 0 maxbodytemp = INFINITY - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null loot = list(/obj/effect/decal/remains/human) del_on_death = TRUE @@ -232,7 +232,7 @@ attack_verb_continuous = "pipes" attack_verb_simple = "bludgeon" attack_sound = 'sound/weapons/smash.ogg' - atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null unsuitable_atmos_damage = 15 check_friendly_fire = 1 dodging = TRUE @@ -295,7 +295,7 @@ casingtype = /obj/item/ammo_casing/c9mm projectilesound = 'sound/weapons/gun/pistol/shot.ogg' loot = list(/obj/effect/spawner/random/maintenance/five) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null minbodytemp = 0 speed = 1 @@ -334,7 +334,7 @@ projectiletype = /obj/projectile/hivebotbullet faction = list(FACTION_HOSTILE) check_friendly_fire = 1 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null minbodytemp = 0 verb_say = "states" verb_ask = "queries" @@ -509,7 +509,7 @@ attack_verb_simple = "pinch" attack_sound = 'sound/weapons/genhit2.ogg' speak_emote = list("gnashes") - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null minbodytemp = 0 maxbodytemp = 1500 faction = list(FACTION_HOSTILE) @@ -544,7 +544,7 @@ attack_verb_simple = "bite" attack_sound = 'sound/weapons/bite.ogg' speak_emote = list("screeches") - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null minbodytemp = 0 maxbodytemp = 1500 faction = list(FACTION_HOSTILE) @@ -582,7 +582,7 @@ attack_verb_simple = "slash" attack_sound = 'sound/weapons/bite.ogg' speak_emote = list("gurlges") - atmos_requirements = list("min_oxy" = 10, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null minbodytemp = 0 maxbodytemp = 1500 faction = list(FACTION_HOSTILE, "vines", "plants") @@ -621,7 +621,7 @@ attack_verb_simple = "sting" attack_sound = 'sound/weapons/genhit2.ogg' speak_emote = list("buzzes") - atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null minbodytemp = 0 maxbodytemp = 800 faction = list(FACTION_HOSTILE) @@ -660,7 +660,7 @@ attack_verb_simple = "slash" attack_sound = 'sound/weapons/bladeslice.ogg' speak_emote = list("growls") - atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null minbodytemp = 0 maxbodytemp = 800 faction = list(FACTION_HOSTILE) @@ -692,7 +692,7 @@ attack_verb_simple = "sting" attack_sound = 'sound/weapons/genhit2.ogg' speak_emote = list("chitters") - atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null minbodytemp = 0 maxbodytemp = 900 faction = list(FACTION_HOSTILE) @@ -728,7 +728,7 @@ speak_emote = list("squeaks") emote_see = list("squeaks.", "practices CQC.", "cocks the bolt of a tiny CR20.", "plots to steal DAT DISK!", "fiddles with a tiny radio.") speak_chance = 1 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null minbodytemp = 0 maxbodytemp = 1500 faction = list(ROLE_SYNDICATE) @@ -763,7 +763,7 @@ attack_verb_simple = "punch" attack_sound = 'sound/weapons/cqchit1.ogg' speak_emote = list("clacks") - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null minbodytemp = 0 maxbodytemp = 1500 faction = list(FACTION_HOSTILE) @@ -798,7 +798,7 @@ attack_verb_simple = "slice" attack_sound = 'sound/weapons/bladeslice.ogg' speak_emote = list("chitters") - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null minbodytemp = 0 maxbodytemp = 1500 faction = list(FACTION_HOSTILE) @@ -833,7 +833,7 @@ attack_verb_simple = "slice" attack_sound = 'sound/effects/wounds/crackandbleed.ogg' speak_emote = list("hums ominously") - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null minbodytemp = 0 maxbodytemp = 1500 faction = list(FACTION_HOSTILE) @@ -866,7 +866,7 @@ attack_sound = 'sound/weapons/pierce_slow.ogg' combat_mode = TRUE loot = list(/obj/effect/spawner/random/maintenance/three = 1) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 5, "max_n2" = 0) + atmos_requirements = null unsuitable_atmos_damage = 7.5 faction = list(FACTION_HOSTILE) check_friendly_fire = 1 diff --git a/modular_skyrat/modules/aesthetics/storage/storage.dmi b/modular_skyrat/modules/aesthetics/storage/storage.dmi index 8981f23b3a9..febe4b01547 100644 Binary files a/modular_skyrat/modules/aesthetics/storage/storage.dmi and b/modular_skyrat/modules/aesthetics/storage/storage.dmi differ diff --git a/modular_skyrat/modules/basic_mobs/code/bananaspider.dm b/modular_skyrat/modules/basic_mobs/code/bananaspider.dm index 6e3a7e26dcd..756ca2afcfb 100644 --- a/modular_skyrat/modules/basic_mobs/code/bananaspider.dm +++ b/modular_skyrat/modules/basic_mobs/code/bananaspider.dm @@ -25,7 +25,7 @@ AddComponent(/datum/component/slippery, 40) var/static/list/banana_drops = list(/obj/item/food/deadbanana_spider) AddElement(/datum/element/death_drops, banana_drops) - AddElement(/datum/element/basic_body_temp_sensitive, 270, INFINITY) + // AddElement(/datum/element/basic_body_temp_sensitive, 270, INFINITY) AddComponent(/datum/component/squashable, squash_chance = 50, squash_damage = 1) /datum/ai_controller/basic_controller/cockroach/banana_spider diff --git a/modular_skyrat/modules/black_mesa/code/mobs/mob_spawners.dm b/modular_skyrat/modules/black_mesa/code/mobs/mob_spawners.dm index f86559c7748..317c73caecc 100644 --- a/modular_skyrat/modules/black_mesa/code/mobs/mob_spawners.dm +++ b/modular_skyrat/modules/black_mesa/code/mobs/mob_spawners.dm @@ -5,7 +5,7 @@ /mob/living/simple_animal/hostile/blackmesa/xen faction = list(FACTION_XEN) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null minbodytemp = 0 maxbodytemp = 1500 diff --git a/modular_skyrat/modules/black_mesa/code/mobs/nihilanth.dm b/modular_skyrat/modules/black_mesa/code/mobs/nihilanth.dm index bdd4bfc2860..19621cbe81e 100644 --- a/modular_skyrat/modules/black_mesa/code/mobs/nihilanth.dm +++ b/modular_skyrat/modules/black_mesa/code/mobs/nihilanth.dm @@ -11,7 +11,7 @@ icon_dead = "bullsquid_dead" maxHealth = 3000 health = 3000 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null projectilesound = 'sound/weapons/lasercannonfire.ogg' projectiletype = /obj/projectile/nihilanth ranged = TRUE diff --git a/modular_skyrat/modules/bodyparts/code/roundstartslime_bodyparts.dm b/modular_skyrat/modules/bodyparts/code/roundstartslime_bodyparts.dm index 302d3488931..312a193e314 100644 --- a/modular_skyrat/modules/bodyparts/code/roundstartslime_bodyparts.dm +++ b/modular_skyrat/modules/bodyparts/code/roundstartslime_bodyparts.dm @@ -1,27 +1,27 @@ // Roundstartslimes! -/obj/item/bodypart/head/slime/roundstart +/obj/item/bodypart/head/jelly/slime/roundstart is_dimorphic = TRUE icon_greyscale = BODYPART_ICON_ROUNDSTARTSLIME biological_state = (BIO_FLESH|BIO_BLOODED) -/obj/item/bodypart/chest/slime/roundstart +/obj/item/bodypart/chest/jelly/slime/roundstart is_dimorphic = TRUE icon_greyscale = BODYPART_ICON_ROUNDSTARTSLIME biological_state = (BIO_FLESH|BIO_BLOODED) -/obj/item/bodypart/arm/left/slime/roundstart +/obj/item/bodypart/arm/left/jelly/slime/roundstart icon_greyscale = BODYPART_ICON_ROUNDSTARTSLIME biological_state = (BIO_FLESH|BIO_BLOODED) -/obj/item/bodypart/arm/right/slime/roundstart +/obj/item/bodypart/arm/right/jelly/slime/roundstart icon_greyscale = BODYPART_ICON_ROUNDSTARTSLIME biological_state = (BIO_FLESH|BIO_BLOODED) -/obj/item/bodypart/leg/left/slime/roundstart +/obj/item/bodypart/leg/left/jelly/slime/roundstart icon_greyscale = BODYPART_ICON_ROUNDSTARTSLIME biological_state = (BIO_FLESH|BIO_BLOODED) -/obj/item/bodypart/leg/right/slime/roundstart +/obj/item/bodypart/leg/right/jelly/slime/roundstart icon_greyscale = BODYPART_ICON_ROUNDSTARTSLIME biological_state = (BIO_FLESH|BIO_BLOODED) diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/roundstartslime.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/roundstartslime.dm index ee33e675692..40c87e3be15 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/roundstartslime.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/roundstartslime.dm @@ -35,12 +35,12 @@ mutanttongue = /obj/item/organ/internal/tongue/jelly bodypart_overrides = list( //Overriding jelly bodyparts - BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/slime/roundstart, - BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/slime/roundstart, - BODY_ZONE_HEAD = /obj/item/bodypart/head/slime/roundstart, - BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/slime/roundstart, - BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/slime/roundstart, - BODY_ZONE_CHEST = /obj/item/bodypart/chest/slime/roundstart, + BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/jelly/slime/roundstart, + BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/jelly/slime/roundstart, + BODY_ZONE_HEAD = /obj/item/bodypart/head/jelly/slime/roundstart, + BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/jelly/slime/roundstart, + BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/jelly/slime/roundstart, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/jelly/slime/roundstart, ) /datum/species/jelly/roundstartslime/create_pref_unique_perks() diff --git a/modular_skyrat/modules/emotes/code/scream_emote.dm b/modular_skyrat/modules/emotes/code/scream_emote.dm index 50619d1bd85..a646c8dd609 100644 --- a/modular_skyrat/modules/emotes/code/scream_emote.dm +++ b/modular_skyrat/modules/emotes/code/scream_emote.dm @@ -1,6 +1,6 @@ /datum/emote/living/scream message = "screams!" - mob_type_blacklist_typecache = list(/mob/living/simple_animal/slime, /mob/living/brain) + mob_type_blacklist_typecache = list(/mob/living/basic/slime, /mob/living/brain) vary = TRUE /datum/emote/living/scream/run_emote(mob/living/user, params) diff --git a/modular_skyrat/modules/horrorform/code/true_changeling.dm b/modular_skyrat/modules/horrorform/code/true_changeling.dm index 6d7831cd3b2..8f3b87f9714 100644 --- a/modular_skyrat/modules/horrorform/code/true_changeling.dm +++ b/modular_skyrat/modules/horrorform/code/true_changeling.dm @@ -18,7 +18,7 @@ speed = 0.5 stop_automated_movement = FALSE status_flags = CANPUSH - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = null minbodytemp = 0 maxHealth = 750 //Very durable health = 500 diff --git a/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_heads.dm b/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_heads.dm index 53ce841f2c0..a3a54f1c6e6 100644 --- a/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_heads.dm +++ b/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_heads.dm @@ -568,6 +568,13 @@ GLOBAL_LIST_INIT(loadout_helmets, generate_loadout_items(/datum/loadout_item/hea /datum/loadout_item/head/imperial_white name = "White Naval Officer Cap" item_path = /obj/item/clothing/head/hats/imperial/white +/datum/loadout_item/head/jester + name = "Jester hat" + item_path = /obj/item/clothing/head/costume/jester + +/datum/loadout_item/head/jesteralt + name = "Jester hat (Alt)" + item_path = /obj/item/clothing/head/costume/jesteralt /datum/loadout_item/head/azulea_oldblood name = "Oldblood's Royal cap" diff --git a/modular_skyrat/modules/loadouts/loadout_items/under/loadout_datum_under.dm b/modular_skyrat/modules/loadouts/loadout_items/under/loadout_datum_under.dm index 7c977c1828b..6de8953c5af 100644 --- a/modular_skyrat/modules/loadouts/loadout_items/under/loadout_datum_under.dm +++ b/modular_skyrat/modules/loadouts/loadout_items/under/loadout_datum_under.dm @@ -409,6 +409,14 @@ GLOBAL_LIST_INIT(loadout_miscunders, generate_loadout_items(/datum/loadout_item/ name = "Treasure Hunter" item_path = /obj/item/clothing/under/rank/civilian/curator/treasure_hunter +/datum/loadout_item/under/miscellaneous/jester + name = "Jester Suit" + item_path = /obj/item/clothing/under/rank/civilian/clown/jester + +/datum/loadout_item/under/miscellaneous/jesteralt + name = "Jeset Suit (Alt)" + item_path = /obj/item/clothing/under/rank/civilian/clown/jesteralt + /datum/loadout_item/under/miscellaneous/overalls name = "Overalls" item_path = /obj/item/clothing/under/misc/overalls diff --git a/modular_skyrat/modules/modular_vending/code/autodrobe.dm b/modular_skyrat/modules/modular_vending/code/autodrobe.dm index 7511a7c3913..8a197376763 100644 --- a/modular_skyrat/modules/modular_vending/code/autodrobe.dm +++ b/modular_skyrat/modules/modular_vending/code/autodrobe.dm @@ -17,8 +17,8 @@ "products" = list( /obj/item/clothing/mask/gas/clownbald = 1, /obj/item/clothing/mask/gas/clown_colourable = 1, - /obj/item/clothing/head/costume/jester/alt = 1, - /obj/item/clothing/under/rank/civilian/clown/jester/alt = 1, + /obj/item/clothing/head/costume/jesteralt = 1, + /obj/item/clothing/under/rank/civilian/clown/jesteralt = 1, ), ), list( diff --git a/tgstation.dme b/tgstation.dme index 582525ee40c..a3a472ca9f6 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -266,6 +266,7 @@ #include "code\__DEFINES\ai\pet_commands.dm" #include "code\__DEFINES\ai\pets.dm" #include "code\__DEFINES\ai\simplemob.dm" +#include "code\__DEFINES\ai\slime.dm" #include "code\__DEFINES\ai\tourist.dm" #include "code\__DEFINES\ai\trader.dm" #include "code\__DEFINES\ai\vending.dm" @@ -1455,12 +1456,13 @@ #include "code\datums\elements\attack_equip.dm" #include "code\datums\elements\backblast.dm" #include "code\datums\elements\bane.dm" -#include "code\datums\elements\basic_body_temp_sensitive.dm" #include "code\datums\elements\basic_eating.dm" +#include "code\datums\elements\basic_health_examine.dm" #include "code\datums\elements\beauty.dm" #include "code\datums\elements\bed_tucking.dm" #include "code\datums\elements\befriend_petting.dm" #include "code\datums\elements\blocks_explosives.dm" +#include "code\datums\elements\body_temp_sensitive.dm" #include "code\datums\elements\bombable_turf.dm" #include "code\datums\elements\bonus_damage.dm" #include "code\datums\elements\bsa_blocker.dm" @@ -1735,6 +1737,7 @@ #include "code\datums\proximity_monitor\fields\timestop.dm" #include "code\datums\quirks\_quirk.dm" #include "code\datums\quirks\_quirk_constant_data.dm" +#include "code\datums\quirks\negative_quirks\addict.dm" #include "code\datums\quirks\negative_quirks\all_nighter.dm" #include "code\datums\quirks\negative_quirks\allergic.dm" #include "code\datums\quirks\negative_quirks\bad_back.dm" @@ -1759,7 +1762,6 @@ #include "code\datums\quirks\negative_quirks\illiterate.dm" #include "code\datums\quirks\negative_quirks\indebted.dm" #include "code\datums\quirks\negative_quirks\insanity.dm" -#include "code\datums\quirks\negative_quirks\junkie.dm" #include "code\datums\quirks\negative_quirks\light_drinker.dm" #include "code\datums\quirks\negative_quirks\mute.dm" #include "code\datums\quirks\negative_quirks\nearsighted.dm" @@ -1906,7 +1908,6 @@ #include "code\datums\status_effects\debuffs\screen_blur.dm" #include "code\datums\status_effects\debuffs\screwy_hud.dm" #include "code\datums\status_effects\debuffs\silenced.dm" -#include "code\datums\status_effects\debuffs\slimed.dm" #include "code\datums\status_effects\debuffs\spacer.dm" #include "code\datums\status_effects\debuffs\speech_debuffs.dm" #include "code\datums\status_effects\debuffs\staggered.dm" @@ -1914,6 +1915,9 @@ #include "code\datums\status_effects\debuffs\strandling.dm" #include "code\datums\status_effects\debuffs\terrified.dm" #include "code\datums\status_effects\debuffs\tower_of_babel.dm" +#include "code\datums\status_effects\debuffs\slime\slime_food.dm" +#include "code\datums\status_effects\debuffs\slime\slime_leech.dm" +#include "code\datums\status_effects\debuffs\slime\slimed.dm" #include "code\datums\storage\storage.dm" #include "code\datums\storage\subtypes\backpack.dm" #include "code\datums\storage\subtypes\bag_of_holding.dm" @@ -2074,6 +2078,7 @@ #include "code\game\machinery\navbeacon.dm" #include "code\game\machinery\nebula_shielding.dm" #include "code\game\machinery\PDApainter.dm" +#include "code\game\machinery\photobooth.dm" #include "code\game\machinery\prisongate.dm" #include "code\game\machinery\prisonlabor.dm" #include "code\game\machinery\quantum_pad.dm" @@ -2099,7 +2104,7 @@ #include "code\game\machinery\washing_machine.dm" #include "code\game\machinery\wishgranter.dm" #include "code\game\machinery\camera\camera.dm" -#include "code\game\machinery\camera\camera_assembly.dm" +#include "code\game\machinery\camera\camera_construction.dm" #include "code\game\machinery\camera\motion.dm" #include "code\game\machinery\camera\presets.dm" #include "code\game\machinery\camera\trackable.dm" @@ -3620,7 +3625,6 @@ #include "code\modules\cargo\bounty.dm" #include "code\modules\cargo\centcom_podlauncher.dm" #include "code\modules\cargo\coupon.dm" -#include "code\modules\cargo\department_order.dm" #include "code\modules\cargo\exports.dm" #include "code\modules\cargo\expressconsole.dm" #include "code\modules\cargo\gondolapod.dm" @@ -3699,6 +3703,7 @@ #include "code\modules\client\preferences_menu.dm" #include "code\modules\client\preferences_savefile.dm" #include "code\modules\client\preferences\_preference.dm" +#include "code\modules\client\preferences\addict.dm" #include "code\modules\client\preferences\admin.dm" #include "code\modules\client\preferences\age.dm" #include "code\modules\client\preferences\ai_core_display.dm" @@ -3739,7 +3744,8 @@ #include "code\modules\client\preferences\preferred_map.dm" #include "code\modules\client\preferences\pride_pin.dm" #include "code\modules\client\preferences\prisoner_crime.dm" -#include "code\modules\client\preferences\prosthetic.dm" +#include "code\modules\client\preferences\prosthetic_limb.dm" +#include "code\modules\client\preferences\prosthetic_organ.dm" #include "code\modules\client\preferences\random.dm" #include "code\modules\client\preferences\runechat.dm" #include "code\modules\client\preferences\scaling_method.dm" @@ -4851,6 +4857,18 @@ #include "code\modules\mob\living\basic\ruin_defender\wizard\wizard.dm" #include "code\modules\mob\living\basic\ruin_defender\wizard\wizard_ai.dm" #include "code\modules\mob\living\basic\ruin_defender\wizard\wizard_spells.dm" +#include "code\modules\mob\living\basic\slime\actions.dm" +#include "code\modules\mob\living\basic\slime\death.dm" +#include "code\modules\mob\living\basic\slime\defense.dm" +#include "code\modules\mob\living\basic\slime\emote.dm" +#include "code\modules\mob\living\basic\slime\feeding.dm" +#include "code\modules\mob\living\basic\slime\life.dm" +#include "code\modules\mob\living\basic\slime\slime.dm" +#include "code\modules\mob\living\basic\slime\slime_type.dm" +#include "code\modules\mob\living\basic\slime\ai\behaviours.dm" +#include "code\modules\mob\living\basic\slime\ai\controller.dm" +#include "code\modules\mob\living\basic\slime\ai\pet_command.dm" +#include "code\modules\mob\living\basic\slime\ai\subtrees.dm" #include "code\modules\mob\living\basic\space_fauna\ant.dm" #include "code\modules\mob\living\basic\space_fauna\cat_surgeon.dm" #include "code\modules\mob\living\basic\space_fauna\faithless.dm" @@ -5136,15 +5154,6 @@ #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\elites\pandora.dm" #include "code\modules\mob\living\simple_animal\hostile\retaliate\goose.dm" #include "code\modules\mob\living\simple_animal\hostile\retaliate\retaliate.dm" -#include "code\modules\mob\living\simple_animal\slime\ai.dm" -#include "code\modules\mob\living\simple_animal\slime\death.dm" -#include "code\modules\mob\living\simple_animal\slime\defense.dm" -#include "code\modules\mob\living\simple_animal\slime\emote.dm" -#include "code\modules\mob\living\simple_animal\slime\life.dm" -#include "code\modules\mob\living\simple_animal\slime\powers.dm" -#include "code\modules\mob\living\simple_animal\slime\slime.dm" -#include "code\modules\mob\living\simple_animal\slime\slime_say.dm" -#include "code\modules\mob\living\simple_animal\slime\slime_type.dm" #include "code\modules\mob_spawn\mob_spawn.dm" #include "code\modules\mob_spawn\corpses\job_corpses.dm" #include "code\modules\mob_spawn\corpses\mining_corpses.dm" @@ -5221,6 +5230,7 @@ #include "code\modules\modular_computers\file_system\programs\cargoship.dm" #include "code\modules\modular_computers\file_system\programs\coupon.dm" #include "code\modules\modular_computers\file_system\programs\crewmanifest.dm" +#include "code\modules\modular_computers\file_system\programs\dept_order.dm" #include "code\modules\modular_computers\file_system\programs\emojipedia.dm" #include "code\modules\modular_computers\file_system\programs\file_browser.dm" #include "code\modules\modular_computers\file_system\programs\frontier.dm" diff --git a/tgui/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs b/tgui/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs deleted file mode 100644 index 527659ff97f..00000000000 --- a/tgui/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs +++ /dev/null @@ -1,363 +0,0 @@ -/* eslint-disable */ -//prettier-ignore -module.exports = { -name: "@yarnpkg/plugin-interactive-tools", -factory: function (require) { -var plugin=(()=>{var PR=Object.create,J1=Object.defineProperty,MR=Object.defineProperties,FR=Object.getOwnPropertyDescriptor,LR=Object.getOwnPropertyDescriptors,RR=Object.getOwnPropertyNames,hh=Object.getOwnPropertySymbols,NR=Object.getPrototypeOf,Z4=Object.prototype.hasOwnProperty,aD=Object.prototype.propertyIsEnumerable;var dD=(i,u,f)=>u in i?J1(i,u,{enumerable:!0,configurable:!0,writable:!0,value:f}):i[u]=f,dt=(i,u)=>{for(var f in u||(u={}))Z4.call(u,f)&&dD(i,f,u[f]);if(hh)for(var f of hh(u))aD.call(u,f)&&dD(i,f,u[f]);return i},zn=(i,u)=>MR(i,LR(u)),BR=i=>J1(i,"__esModule",{value:!0});var Si=(i,u)=>{var f={};for(var c in i)Z4.call(i,c)&&u.indexOf(c)<0&&(f[c]=i[c]);if(i!=null&&hh)for(var c of hh(i))u.indexOf(c)<0&&aD.call(i,c)&&(f[c]=i[c]);return f};var Me=(i,u)=>()=>(u||i((u={exports:{}}).exports,u),u.exports),jR=(i,u)=>{for(var f in u)J1(i,f,{get:u[f],enumerable:!0})},UR=(i,u,f)=>{if(u&&typeof u=="object"||typeof u=="function")for(let c of RR(u))!Z4.call(i,c)&&c!=="default"&&J1(i,c,{get:()=>u[c],enumerable:!(f=FR(u,c))||f.enumerable});return i},Er=i=>UR(BR(J1(i!=null?PR(NR(i)):{},"default",i&&i.__esModule&&"default"in i?{get:()=>i.default,enumerable:!0}:{value:i,enumerable:!0})),i);var ey=Me((YH,pD)=>{"use strict";var hD=Object.getOwnPropertySymbols,qR=Object.prototype.hasOwnProperty,zR=Object.prototype.propertyIsEnumerable;function WR(i){if(i==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(i)}function HR(){try{if(!Object.assign)return!1;var i=new String("abc");if(i[5]="de",Object.getOwnPropertyNames(i)[0]==="5")return!1;for(var u={},f=0;f<10;f++)u["_"+String.fromCharCode(f)]=f;var c=Object.getOwnPropertyNames(u).map(function(t){return u[t]});if(c.join("")!=="0123456789")return!1;var g={};return"abcdefghijklmnopqrst".split("").forEach(function(t){g[t]=t}),Object.keys(Object.assign({},g)).join("")==="abcdefghijklmnopqrst"}catch(t){return!1}}pD.exports=HR()?Object.assign:function(i,u){for(var f,c=WR(i),g,t=1;t{"use strict";var ty=ey(),as=typeof Symbol=="function"&&Symbol.for,Q1=as?Symbol.for("react.element"):60103,bR=as?Symbol.for("react.portal"):60106,GR=as?Symbol.for("react.fragment"):60107,VR=as?Symbol.for("react.strict_mode"):60108,YR=as?Symbol.for("react.profiler"):60114,$R=as?Symbol.for("react.provider"):60109,KR=as?Symbol.for("react.context"):60110,XR=as?Symbol.for("react.forward_ref"):60112,JR=as?Symbol.for("react.suspense"):60113,QR=as?Symbol.for("react.memo"):60115,ZR=as?Symbol.for("react.lazy"):60116,mD=typeof Symbol=="function"&&Symbol.iterator;function Z1(i){for(var u="https://reactjs.org/docs/error-decoder.html?invariant="+i,f=1;fmh.length&&mh.push(i)}function uy(i,u,f,c){var g=typeof i;(g==="undefined"||g==="boolean")&&(i=null);var t=!1;if(i===null)t=!0;else switch(g){case"string":case"number":t=!0;break;case"object":switch(i.$$typeof){case Q1:case bR:t=!0}}if(t)return f(c,i,u===""?"."+sy(i,0):u),1;if(t=0,u=u===""?".":u+":",Array.isArray(i))for(var C=0;C{"use strict";kD.exports=xD()});var AD=Me((ga,e2)=>{(function(){var i,u="4.17.21",f=200,c="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",g="Expected a function",t="Invalid `variable` option passed into `_.template`",C="__lodash_hash_undefined__",A=500,x="__lodash_placeholder__",D=1,L=2,N=4,j=1,$=2,h=1,re=2,ce=4,Q=8,oe=16,Se=32,me=64,De=128,J=256,Te=512,Oe=30,Le="...",ot=800,ct=16,Ue=1,be=2,At=3,Ot=1/0,Nt=9007199254740991,Je=17976931348623157e292,V=0/0,ne=4294967295,ge=ne-1,Z=ne>>>1,Ae=[["ary",De],["bind",h],["bindKey",re],["curry",Q],["curryRight",oe],["flip",Te],["partial",Se],["partialRight",me],["rearg",J]],at="[object Arguments]",it="[object Array]",Ft="[object AsyncFunction]",jt="[object Boolean]",hn="[object Date]",Un="[object DOMException]",Jt="[object Error]",Yt="[object Function]",cr="[object GeneratorFunction]",w="[object Map]",pt="[object Number]",Mn="[object Null]",Bn="[object Object]",Xn="[object Promise]",vr="[object Proxy]",gr="[object RegExp]",r0="[object Set]",Ci="[object String]",yo="[object Symbol]",Ds="[object Undefined]",Mu="[object WeakMap]",Gf="[object WeakSet]",iu="[object ArrayBuffer]",ou="[object DataView]",ol="[object Float32Array]",ul="[object Float64Array]",Es="[object Int8Array]",Uo="[object Int16Array]",sl="[object Int32Array]",Ss="[object Uint8Array]",Cs="[object Uint8ClampedArray]",Ti="[object Uint16Array]",Fu="[object Uint32Array]",ll=/\b__p \+= '';/g,fl=/\b(__p \+=) '' \+/g,cl=/(__e\(.*?\)|\b__t\)) \+\n'';/g,al=/&(?:amp|lt|gt|quot|#39);/g,Ui=/[&<>"']/g,Mr=RegExp(al.source),Ac=RegExp(Ui.source),of=/<%-([\s\S]+?)%>/g,Ts=/<%([\s\S]+?)%>/g,xs=/<%=([\s\S]+?)%>/g,dl=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,qi=/^\w*$/,qo=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,kr=/[\\^$.*+?()[\]{}|]/g,Fr=RegExp(kr.source),si=/^\s+/,H0=/\s/,b0=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Bt=/\{\n\/\* \[wrapped with (.+)\] \*/,Lu=/,? & /,c0=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ru=/[()=,{}\[\]\/\s]/,ks=/\\(\\)?/g,As=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,uu=/\w*$/,wo=/^[-+]0x[0-9a-f]+$/i,zo=/^0b[01]+$/i,Os=/^\[object .+?Constructor\]$/,Is=/^0o[0-7]+$/i,uf=/^(?:0|[1-9]\d*)$/,_n=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Nu=/($^)/,Wo=/['\n\r\u2028\u2029\\]/g,su="\\ud800-\\udfff",Ps="\\u0300-\\u036f",pl="\\ufe20-\\ufe2f",Vf="\\u20d0-\\u20ff",hl=Ps+pl+Vf,Bu="\\u2700-\\u27bf",ju="a-z\\xdf-\\xf6\\xf8-\\xff",sf="\\xac\\xb1\\xd7\\xf7",ro="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ms="\\u2000-\\u206f",ml=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Uu="A-Z\\xc0-\\xd6\\xd8-\\xde",G0="\\ufe0e\\ufe0f",Fs=sf+ro+Ms+ml,tt="['\u2019]",zi="["+su+"]",lu="["+Fs+"]",Ho="["+hl+"]",O0="\\d+",vl="["+Bu+"]",gl="["+ju+"]",fu="[^"+su+Fs+O0+Bu+ju+Uu+"]",_l="\\ud83c[\\udffb-\\udfff]",Sn="(?:"+Ho+"|"+_l+")",gt="[^"+su+"]",en="(?:\\ud83c[\\udde6-\\uddff]){2}",I0="[\\ud800-\\udbff][\\udc00-\\udfff]",li="["+Uu+"]",qu="\\u200d",Wi="(?:"+gl+"|"+fu+")",zu="(?:"+li+"|"+fu+")",Wu="(?:"+tt+"(?:d|ll|m|re|s|t|ve))?",Ls="(?:"+tt+"(?:D|LL|M|RE|S|T|VE))?",fi=Sn+"?",e0="["+G0+"]?",io="(?:"+qu+"(?:"+[gt,en,I0].join("|")+")"+e0+fi+")*",D0="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Do="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",i0=e0+fi+io,Rs="(?:"+[vl,en,I0].join("|")+")"+i0,a0="(?:"+[gt+Ho+"?",Ho,en,I0,zi].join("|")+")",Hu=RegExp(tt,"g"),V0=RegExp(Ho,"g"),bu=RegExp(_l+"(?="+_l+")|"+a0+i0,"g"),Ns=RegExp([li+"?"+gl+"+"+Wu+"(?="+[lu,li,"$"].join("|")+")",zu+"+"+Ls+"(?="+[lu,li+Wi,"$"].join("|")+")",li+"?"+Wi+"+"+Wu,li+"+"+Ls,Do,D0,O0,Rs].join("|"),"g"),bo=RegExp("["+qu+su+hl+G0+"]"),P0=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ln=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],lf=-1,nr={};nr[ol]=nr[ul]=nr[Es]=nr[Uo]=nr[sl]=nr[Ss]=nr[Cs]=nr[Ti]=nr[Fu]=!0,nr[at]=nr[it]=nr[iu]=nr[jt]=nr[ou]=nr[hn]=nr[Jt]=nr[Yt]=nr[w]=nr[pt]=nr[Bn]=nr[gr]=nr[r0]=nr[Ci]=nr[Mu]=!1;var rr={};rr[at]=rr[it]=rr[iu]=rr[ou]=rr[jt]=rr[hn]=rr[ol]=rr[ul]=rr[Es]=rr[Uo]=rr[sl]=rr[w]=rr[pt]=rr[Bn]=rr[gr]=rr[r0]=rr[Ci]=rr[yo]=rr[Ss]=rr[Cs]=rr[Ti]=rr[Fu]=!0,rr[Jt]=rr[Yt]=rr[Mu]=!1;var Go={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},Gu={"&":"&","<":"<",">":">",'"':""","'":"'"},yl={"&":"&","<":"<",">":">",""":'"',"'":"'"},cu={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Bs=parseFloat,Vu=parseInt,M0=typeof global=="object"&&global&&global.Object===Object&&global,au=typeof self=="object"&&self&&self.Object===Object&&self,Lr=M0||au||Function("return this")(),F=typeof ga=="object"&&ga&&!ga.nodeType&&ga,R=F&&typeof e2=="object"&&e2&&!e2.nodeType&&e2,U=R&&R.exports===F,H=U&&M0.process,fe=function(){try{var ae=R&&R.require&&R.require("util").types;return ae||H&&H.binding&&H.binding("util")}catch(Be){}}(),ue=fe&&fe.isArrayBuffer,de=fe&&fe.isDate,W=fe&&fe.isMap,ve=fe&&fe.isRegExp,Fe=fe&&fe.isSet,Ge=fe&&fe.isTypedArray;function K(ae,Be,Ie){switch(Ie.length){case 0:return ae.call(Be);case 1:return ae.call(Be,Ie[0]);case 2:return ae.call(Be,Ie[0],Ie[1]);case 3:return ae.call(Be,Ie[0],Ie[1],Ie[2])}return ae.apply(Be,Ie)}function xe(ae,Be,Ie,ht){for(var mt=-1,wn=ae==null?0:ae.length;++mt-1}function wt(ae,Be,Ie){for(var ht=-1,mt=ae==null?0:ae.length;++ht-1;);return Ie}function js(ae,Be){for(var Ie=ae.length;Ie--&&Qe(Be,ae[Ie],0)>-1;);return Ie}function Dl(ae,Be){for(var Ie=ae.length,ht=0;Ie--;)ae[Ie]===Be&&++ht;return ht}var du=Cn(Go),Yu=Cn(Gu);function Us(ae){return"\\"+cu[ae]}function oo(ae,Be){return ae==null?i:ae[Be]}function Hi(ae){return bo.test(ae)}function qs(ae){return P0.test(ae)}function F0(ae){for(var Be,Ie=[];!(Be=ae.next()).done;)Ie.push(Be.value);return Ie}function Gr(ae){var Be=-1,Ie=Array(ae.size);return ae.forEach(function(ht,mt){Ie[++Be]=[mt,ht]}),Ie}function ir(ae,Be){return function(Ie){return ae(Be(Ie))}}function L0(ae,Be){for(var Ie=-1,ht=ae.length,mt=0,wn=[];++Ie-1}function Ju(a,p){var E=this.__data__,I=hf(E,a);return I<0?(++this.size,E.push([a,p])):E[I][1]=p,this}Z0.prototype.clear=df,Z0.prototype.delete=Ba,Z0.prototype.get=Oc,Z0.prototype.has=mu,Z0.prototype.set=Ju;function ei(a){var p=-1,E=a==null?0:a.length;for(this.clear();++p=p?a:p)),a}function vi(a,p,E,I,B,G){var te,se=p&D,Ee=p&L,$e=p&N;if(E&&(te=B?E(a,I,B,G):E(a)),te!==i)return te;if(!Jr(a))return a;var Ke=On(a);if(Ke){if(te=f1(a),!se)return Xr(a,te)}else{var nt=U0(a),Ct=nt==Yt||nt==cr;if(Eu(a))return Od(a,se);if(nt==Bn||nt==at||Ct&&!B){if(te=Ee||Ct?{}:zd(a),!se)return Ee?Zu(a,Wa(te,a)):j0(a,mf(te,a))}else{if(!rr[nt])return B?a:{};te=Wd(a,nt,se)}}G||(G=new co);var Gt=G.get(a);if(Gt)return Gt;G.set(a,te),kp(a)?a.forEach(function(dn){te.add(vi(dn,p,E,dn,a,G))}):Tp(a)&&a.forEach(function(dn,Yn){te.set(Yn,vi(dn,p,E,Yn,a,G))});var an=$e?Ee?Dn:r1:Ee?Yi:q0,qn=Ke?i:an(a);return je(qn||a,function(dn,Yn){qn&&(Yn=dn,dn=a[Yn]),xl(te,Yn,vi(dn,p,E,Yn,a,G))}),te}function Xf(a){var p=q0(a);return function(E){return Rc(E,a,p)}}function Rc(a,p,E){var I=E.length;if(a==null)return!I;for(a=$t(a);I--;){var B=E[I],G=p[B],te=a[B];if(te===i&&!(B in a)||!G(te))return!1}return!0}function Jf(a,p,E){if(typeof a!="function")throw new Yr(g);return wf(function(){a.apply(i,E)},p)}function ao(a,p,E,I){var B=-1,G=xt,te=!0,se=a.length,Ee=[],$e=p.length;if(!se)return Ee;E&&(p=lt(p,qr(E))),I?(G=wt,te=!1):p.length>=f&&(G=So,te=!1,p=new vu(p));e:for(;++BB?0:B+E),I=I===i||I>B?B:jn(I),I<0&&(I+=B),I=E>I?0:Ip(I);E0&&E(se)?p>1?k0(se,p-1,E,I,B):Rt(B,se):I||(B[B.length]=se)}return B}var v=ec(),m=ec(!0);function S(a,p){return a&&v(a,p,q0)}function O(a,p){return a&&m(a,p,q0)}function M(a,p){return st(p,function(E){return rs(a[E])})}function b(a,p){p=Gs(p,a);for(var E=0,I=p.length;a!=null&&Ep}function ut(a,p){return a!=null&&or.call(a,p)}function In(a,p){return a!=null&&p in $t(a)}function A0(a,p,E){return a>=kn(p,E)&&a=120&&Ke.length>=120)?new vu(te&&Ke):i}Ke=a[0];var nt=-1,Ct=se[0];e:for(;++nt-1;)se!==a&&C0.call(se,Ee,1),C0.call(a,Ee,1);return a}function jc(a,p){for(var E=a?p.length:0,I=E-1;E--;){var B=p[E];if(E==I||B!==G){var G=B;es(B)?C0.call(a,B,1):$a(a,B)}}return a}function Ga(a,p){return a+hu(Ai()*(p-a+1))}function Lm(a,p,E,I){for(var B=-1,G=wr(B0((p-a)/(E||1)),0),te=Ie(G);G--;)te[I?G:++B]=a,a+=E;return te}function Va(a,p){var E="";if(!a||p<1||p>Nt)return E;do p%2&&(E+=a),p=hu(p/2),p&&(a+=a);while(p);return E}function Wn(a,p){return m1(Gd(a,p,$i),a+"")}function wd(a){return Fc(Ef(a))}function Dd(a,p){var E=Ef(a);return Yc(E,mi(p,0,E.length))}function Ol(a,p,E,I){if(!Jr(a))return a;p=Gs(p,a);for(var B=-1,G=p.length,te=G-1,se=a;se!=null&&++BB?0:B+p),E=E>B?B:E,E<0&&(E+=B),B=p>E?0:E-p>>>0,p>>>=0;for(var G=Ie(B);++I>>1,te=a[G];te!==null&&!mo(te)&&(E?te<=p:te=f){var $e=p?null:bm(a);if($e)return Y0($e);te=!1,B=So,Ee=new vu}else Ee=p?[]:se;e:for(;++I=I?a:Oo(a,p,E)}var Ad=pu||function(a){return Lr.clearTimeout(a)};function Od(a,p){if(p)return a.slice();var E=a.length,I=Nr?Nr(E):new a.constructor(E);return a.copy(I),I}function Qa(a){var p=new a.constructor(a.byteLength);return new R0(p).set(new R0(a)),p}function jm(a,p){var E=p?Qa(a.buffer):a.buffer;return new a.constructor(E,a.byteOffset,a.byteLength)}function Um(a){var p=new a.constructor(a.source,uu.exec(a));return p.lastIndex=a.lastIndex,p}function qm(a){return Wr?$t(Wr.call(a)):{}}function Id(a,p){var E=p?Qa(a.buffer):a.buffer;return new a.constructor(E,a.byteOffset,a.length)}function Pd(a,p){if(a!==p){var E=a!==i,I=a===null,B=a===a,G=mo(a),te=p!==i,se=p===null,Ee=p===p,$e=mo(p);if(!se&&!$e&&!G&&a>p||G&&te&&Ee&&!se&&!$e||I&&te&&Ee||!E&&Ee||!B)return 1;if(!I&&!G&&!$e&&a=se)return Ee;var $e=E[I];return Ee*($e=="desc"?-1:1)}}return a.index-p.index}function gf(a,p,E,I){for(var B=-1,G=a.length,te=E.length,se=-1,Ee=p.length,$e=wr(G-te,0),Ke=Ie(Ee+$e),nt=!I;++se1?E[B-1]:i,te=B>2?E[2]:i;for(G=a.length>3&&typeof G=="function"?(B--,G):i,te&&Ii(E[0],E[1],te)&&(G=B<3?i:G,B=1),p=$t(p);++I-1?B[G?p[te]:te]:i}}function Rd(a){return yu(function(p){var E=p.length,I=E,B=Qn.prototype.thru;for(a&&p.reverse();I--;){var G=p[I];if(typeof G!="function")throw new Yr(g);if(B&&!te&&Gc(G)=="wrapper")var te=new Qn([],!0)}for(I=te?I:E;++I1&&er.reverse(),Ke&&Eese))return!1;var $e=G.get(a),Ke=G.get(p);if($e&&Ke)return $e==p&&Ke==a;var nt=-1,Ct=!0,Gt=E&$?new vu:i;for(G.set(a,p),G.set(p,a);++nt1?"& ":"")+p[I],p=p.join(E>2?", ":" "),a.replace(b0,`{ -/* [wrapped with `+p+`] */ -`)}function Xm(a){return On(a)||Ll(a)||!!(di&&a&&a[di])}function es(a,p){var E=typeof a;return p=p==null?Nt:p,!!p&&(E=="number"||E!="symbol"&&uf.test(a))&&a>-1&&a%1==0&&a0){if(++p>=ot)return arguments[0]}else p=0;return a.apply(i,arguments)}}function Yc(a,p){var E=-1,I=a.length,B=I-1;for(p=p===i?I:p;++E1?a[p-1]:i;return E=typeof E=="function"?(a.pop(),E):i,sp(a,E)});function fp(a){var p=z(a);return p.__chain__=!0,p}function cp(a,p){return p(a),a}function Kc(a,p){return p(a)}var Wv=yu(function(a){var p=a.length,E=p?a[0]:0,I=this.__wrapped__,B=function(G){return Hs(G,a)};return p>1||this.__actions__.length||!(I instanceof nn)||!es(E)?this.thru(B):(I=I.slice(E,+E+(p?1:0)),I.__actions__.push({func:Kc,args:[B],thisArg:i}),new Qn(I,this.__chain__).thru(function(G){return p&&!G.length&&G.push(i),G}))});function Hv(){return fp(this)}function bv(){return new Qn(this.value(),this.__chain__)}function Gv(){this.__values__===i&&(this.__values__=Op(this.value()));var a=this.__index__>=this.__values__.length,p=a?i:this.__values__[this.__index__++];return{done:a,value:p}}function Vv(){return this}function Yv(a){for(var p,E=this;E instanceof Or;){var I=Jd(E);I.__index__=0,I.__values__=i,p?B.__wrapped__=I:p=I;var B=I;E=E.__wrapped__}return B.__wrapped__=a,p}function Ml(){var a=this.__wrapped__;if(a instanceof nn){var p=a;return this.__actions__.length&&(p=new nn(this)),p=p.reverse(),p.__actions__.push({func:Kc,args:[g1],thisArg:i}),new Qn(p,this.__chain__)}return this.thru(g1)}function Fl(){return xd(this.__wrapped__,this.__actions__)}var Xc=_f(function(a,p,E){or.call(a,E)?++a[E]:ti(a,E,1)});function $v(a,p,E){var I=On(a)?rt:Nc;return E&&Ii(a,p,E)&&(p=i),I(a,cn(p,3))}function Kv(a,p){var E=On(a)?st:Qf;return E(a,cn(p,3))}var Xv=Ld(Qd),D1=Ld($c);function Jv(a,p){return k0(Jc(a,p),1)}function Qv(a,p){return k0(Jc(a,p),Ot)}function ap(a,p,E){return E=E===i?1:jn(E),k0(Jc(a,p),E)}function dp(a,p){var E=On(a)?je:$o;return E(a,cn(p,3))}function pp(a,p){var E=On(a)?Xe:kl;return E(a,cn(p,3))}var Zv=_f(function(a,p,E){or.call(a,E)?a[E].push(p):ti(a,E,[p])});function eg(a,p,E,I){a=Vi(a)?a:Ef(a),E=E&&!I?jn(E):0;var B=a.length;return E<0&&(E=wr(B+E,0)),ia(a)?E<=B&&a.indexOf(p,E)>-1:!!B&&Qe(a,p,E)>-1}var tg=Wn(function(a,p,E){var I=-1,B=typeof p=="function",G=Vi(a)?Ie(a.length):[];return $o(a,function(te){G[++I]=B?K(p,te,E):po(te,p,E)}),G}),hp=_f(function(a,p,E){ti(a,E,p)});function Jc(a,p){var E=On(a)?lt:vd;return E(a,cn(p,3))}function ng(a,p,E,I){return a==null?[]:(On(p)||(p=p==null?[]:[p]),E=I?i:E,On(E)||(E=E==null?[]:[E]),Oi(a,p,E))}var rg=_f(function(a,p,E){a[E?0:1].push(p)},function(){return[[],[]]});function mp(a,p,E){var I=On(a)?yn:bn,B=arguments.length<3;return I(a,cn(p,4),E,B,$o)}function ig(a,p,E){var I=On(a)?sn:bn,B=arguments.length<3;return I(a,cn(p,4),E,B,kl)}function og(a,p){var E=On(a)?st:Qf;return E(a,Zc(cn(p,3)))}function ug(a){var p=On(a)?Fc:wd;return p(a)}function sg(a,p,E){(E?Ii(a,p,E):p===i)?p=1:p=jn(p);var I=On(a)?Lc:Dd;return I(a,p)}function lg(a){var p=On(a)?Kf:Ao;return p(a)}function E1(a){if(a==null)return 0;if(Vi(a))return ia(a)?Rr(a):a.length;var p=U0(a);return p==w||p==r0?a.size:Zf(a).length}function fg(a,p,E){var I=On(a)?ar:Nm;return E&&Ii(a,p,E)&&(p=i),I(a,cn(p,3))}var cg=Wn(function(a,p){if(a==null)return[];var E=p.length;return E>1&&Ii(a,p[0],p[1])?p=[]:E>2&&Ii(p[0],p[1],p[2])&&(p=[p[0]]),Oi(a,k0(p,1),[])}),rc=Sl||function(){return Lr.Date.now()};function ag(a,p){if(typeof p!="function")throw new Yr(g);return a=jn(a),function(){if(--a<1)return p.apply(this,arguments)}}function vp(a,p,E){return p=E?i:p,p=a&&p==null?a.length:p,Lt(a,De,i,i,i,i,p)}function gp(a,p){var E;if(typeof p!="function")throw new Yr(g);return a=jn(a),function(){return--a>0&&(E=p.apply(this,arguments)),a<=1&&(p=i),E}}var S1=Wn(function(a,p,E){var I=h;if(E.length){var B=L0(E,An(S1));I|=Se}return Lt(a,I,p,E,B)}),_p=Wn(function(a,p,E){var I=h|re;if(E.length){var B=L0(E,An(_p));I|=Se}return Lt(p,I,a,E,B)});function C1(a,p,E){p=E?i:p;var I=Lt(a,Q,i,i,i,i,i,p);return I.placeholder=C1.placeholder,I}function yp(a,p,E){p=E?i:p;var I=Lt(a,oe,i,i,i,i,i,p);return I.placeholder=yp.placeholder,I}function wp(a,p,E){var I,B,G,te,se,Ee,$e=0,Ke=!1,nt=!1,Ct=!0;if(typeof a!="function")throw new Yr(g);p=Fo(p)||0,Jr(E)&&(Ke=!!E.leading,nt="maxWait"in E,G=nt?wr(Fo(E.maxWait)||0,p):G,Ct="trailing"in E?!!E.trailing:Ct);function Gt(f0){var Jo=I,Su=B;return I=B=i,$e=f0,te=a.apply(Su,Jo),te}function an(f0){return $e=f0,se=wf(Yn,p),Ke?Gt(f0):te}function qn(f0){var Jo=f0-Ee,Su=f0-$e,Zp=p-Jo;return nt?kn(Zp,G-Su):Zp}function dn(f0){var Jo=f0-Ee,Su=f0-$e;return Ee===i||Jo>=p||Jo<0||nt&&Su>=G}function Yn(){var f0=rc();if(dn(f0))return er(f0);se=wf(Yn,qn(f0))}function er(f0){return se=i,Ct&&I?Gt(f0):(I=B=i,te)}function vo(){se!==i&&Ad(se),$e=0,I=Ee=B=se=i}function Pi(){return se===i?te:er(rc())}function Mi(){var f0=rc(),Jo=dn(f0);if(I=arguments,B=this,Ee=f0,Jo){if(se===i)return an(Ee);if(nt)return Ad(se),se=wf(Yn,p),Gt(Ee)}return se===i&&(se=wf(Yn,p)),te}return Mi.cancel=vo,Mi.flush=Pi,Mi}var dg=Wn(function(a,p){return Jf(a,1,p)}),Dp=Wn(function(a,p,E){return Jf(a,Fo(p)||0,E)});function pg(a){return Lt(a,Te)}function Qc(a,p){if(typeof a!="function"||p!=null&&typeof p!="function")throw new Yr(g);var E=function(){var I=arguments,B=p?p.apply(this,I):I[0],G=E.cache;if(G.has(B))return G.get(B);var te=a.apply(this,I);return E.cache=G.set(B,te)||G,te};return E.cache=new(Qc.Cache||ei),E}Qc.Cache=ei;function Zc(a){if(typeof a!="function")throw new Yr(g);return function(){var p=arguments;switch(p.length){case 0:return!a.call(this);case 1:return!a.call(this,p[0]);case 2:return!a.call(this,p[0],p[1]);case 3:return!a.call(this,p[0],p[1],p[2])}return!a.apply(this,p)}}function ea(a){return gp(2,a)}var hg=Bm(function(a,p){p=p.length==1&&On(p[0])?lt(p[0],qr(cn())):lt(k0(p,1),qr(cn()));var E=p.length;return Wn(function(I){for(var B=-1,G=kn(I.length,E);++B=p}),Ll=_i(function(){return arguments}())?_i:function(a){return n0(a)&&or.call(a,"callee")&&!N0.call(a,"callee")},On=Ie.isArray,x1=ue?qr(ue):Re;function Vi(a){return a!=null&&na(a.length)&&!rs(a)}function l0(a){return n0(a)&&Vi(a)}function kg(a){return a===!0||a===!1||n0(a)&&Ye(a)==jt}var Eu=pi||W1,Ag=de?qr(de):Ce;function Og(a){return n0(a)&&a.nodeType===1&&!ic(a)}function Cp(a){if(a==null)return!0;if(Vi(a)&&(On(a)||typeof a=="string"||typeof a.splice=="function"||Eu(a)||Df(a)||Ll(a)))return!a.length;var p=U0(a);if(p==w||p==r0)return!a.size;if(nc(a))return!Zf(a).length;for(var E in a)if(or.call(a,E))return!1;return!0}function Ig(a,p){return ze(a,p)}function Pg(a,p,E){E=typeof E=="function"?E:i;var I=E?E(a,p):i;return I===i?ze(a,p,i,E):!!I}function k1(a){if(!n0(a))return!1;var p=Ye(a);return p==Jt||p==Un||typeof a.message=="string"&&typeof a.name=="string"&&!ic(a)}function Mg(a){return typeof a=="number"&&Br(a)}function rs(a){if(!Jr(a))return!1;var p=Ye(a);return p==Yt||p==cr||p==Ft||p==vr}function A1(a){return typeof a=="number"&&a==jn(a)}function na(a){return typeof a=="number"&&a>-1&&a%1==0&&a<=Nt}function Jr(a){var p=typeof a;return a!=null&&(p=="object"||p=="function")}function n0(a){return a!=null&&typeof a=="object"}var Tp=W?qr(W):on;function Fg(a,p){return a===p||sr(a,p,Nn(p))}function Lg(a,p,E){return E=typeof E=="function"?E:i,sr(a,p,Nn(p),E)}function Rg(a){return xp(a)&&a!=+a}function Ng(a){if(Zm(a))throw new mt(c);return mn(a)}function Bg(a){return a===null}function O1(a){return a==null}function xp(a){return typeof a=="number"||n0(a)&&Ye(a)==pt}function ic(a){if(!n0(a)||Ye(a)!=Bn)return!1;var p=uo(a);if(p===null)return!0;var E=or.call(p,"constructor")&&p.constructor;return typeof E=="function"&&E instanceof E&&bi.call(E)==af}var ra=ve?qr(ve):pr;function jg(a){return A1(a)&&a>=-Nt&&a<=Nt}var kp=Fe?qr(Fe):Hr;function ia(a){return typeof a=="string"||!On(a)&&n0(a)&&Ye(a)==Ci}function mo(a){return typeof a=="symbol"||n0(a)&&Ye(a)==yo}var Df=Ge?qr(Ge):Vn;function Ap(a){return a===i}function Ug(a){return n0(a)&&U0(a)==Mu}function qg(a){return n0(a)&&Ye(a)==Gf}var zg=bc(Ha),Wg=bc(function(a,p){return a<=p});function Op(a){if(!a)return[];if(Vi(a))return ia(a)?Jn(a):Xr(a);if(u0&&a[u0])return F0(a[u0]());var p=U0(a),E=p==w?Gr:p==r0?Y0:Ef;return E(a)}function is(a){if(!a)return a===0?a:0;if(a=Fo(a),a===Ot||a===-Ot){var p=a<0?-1:1;return p*Je}return a===a?a:0}function jn(a){var p=is(a),E=p%1;return p===p?E?p-E:p:0}function Ip(a){return a?mi(jn(a),0,ne):0}function Fo(a){if(typeof a=="number")return a;if(mo(a))return V;if(Jr(a)){var p=typeof a.valueOf=="function"?a.valueOf():a;a=Jr(p)?p+"":p}if(typeof a!="string")return a===0?a:+a;a=E0(a);var E=zo.test(a);return E||Is.test(a)?Vu(a.slice(2),E?2:8):wo.test(a)?V:+a}function oa(a){return yi(a,Yi(a))}function Hg(a){return a?mi(jn(a),-Nt,Nt):a===0?a:0}function yr(a){return a==null?"":ho(a)}var Pp=Io(function(a,p){if(nc(p)||Vi(p)){yi(p,q0(p),a);return}for(var E in p)or.call(p,E)&&xl(a,E,p[E])}),Mp=Io(function(a,p){yi(p,Yi(p),a)}),ua=Io(function(a,p,E,I){yi(p,Yi(p),a,I)}),bg=Io(function(a,p,E,I){yi(p,q0(p),a,I)}),Gg=yu(Hs);function Vg(a,p){var E=dr(a);return p==null?E:mf(E,p)}var Fp=Wn(function(a,p){a=$t(a);var E=-1,I=p.length,B=I>2?p[2]:i;for(B&&Ii(p[0],p[1],B)&&(I=1);++E1),G}),yi(a,Dn(a),E),I&&(E=vi(E,D|L|N,Gm));for(var B=p.length;B--;)$a(E,p[B]);return E});function l_(a,p){return Bp(a,Zc(cn(p)))}var f_=yu(function(a,p){return a==null?{}:Fm(a,p)});function Bp(a,p){if(a==null)return{};var E=lt(Dn(a),function(I){return[I]});return p=cn(p),yd(a,E,function(I,B){return p(I,B[0])})}function c_(a,p,E){p=Gs(p,a);var I=-1,B=p.length;for(B||(B=1,a=i);++Ip){var I=a;a=p,p=I}if(E||a%1||p%1){var B=Ai();return kn(a+B*(p-a+Bs("1e-"+((B+"").length-1))),p)}return Ga(a,p)}var __=yf(function(a,p,E){return p=p.toLowerCase(),a+(E?Wp(p):p)});function Wp(a){return L1(yr(a).toLowerCase())}function Hp(a){return a=yr(a),a&&a.replace(_n,du).replace(V0,"")}function y_(a,p,E){a=yr(a),p=ho(p);var I=a.length;E=E===i?I:mi(jn(E),0,I);var B=E;return E-=p.length,E>=0&&a.slice(E,B)==p}function M1(a){return a=yr(a),a&&Ac.test(a)?a.replace(Ui,Yu):a}function w_(a){return a=yr(a),a&&Fr.test(a)?a.replace(kr,"\\$&"):a}var D_=yf(function(a,p,E){return a+(E?"-":"")+p.toLowerCase()}),bp=yf(function(a,p,E){return a+(E?" ":"")+p.toLowerCase()}),E_=Fd("toLowerCase");function S_(a,p,E){a=yr(a),p=jn(p);var I=p?Rr(a):0;if(!p||I>=p)return a;var B=(p-I)/2;return Hc(hu(B),E)+a+Hc(B0(B),E)}function C_(a,p,E){a=yr(a),p=jn(p);var I=p?Rr(a):0;return p&&I>>0,E?(a=yr(a),a&&(typeof p=="string"||p!=null&&!ra(p))&&(p=ho(p),!p&&Hi(a))?Vs(Jn(a),0,E):a.split(p,E)):[]}var I_=yf(function(a,p,E){return a+(E?" ":"")+L1(p)});function P_(a,p,E){return a=yr(a),E=E==null?0:mi(jn(E),0,a.length),p=ho(p),a.slice(E,E+p.length)==p}function M_(a,p,E){var I=z.templateSettings;E&&Ii(a,p,E)&&(p=i),a=yr(a),p=ua({},p,I,n1);var B=ua({},p.imports,I.imports,n1),G=q0(B),te=Eo(B,G),se,Ee,$e=0,Ke=p.interpolate||Nu,nt="__p += '",Ct=X0((p.escape||Nu).source+"|"+Ke.source+"|"+(Ke===xs?As:Nu).source+"|"+(p.evaluate||Nu).source+"|$","g"),Gt="//# sourceURL="+(or.call(p,"sourceURL")?(p.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++lf+"]")+` -`;a.replace(Ct,function(dn,Yn,er,vo,Pi,Mi){return er||(er=vo),nt+=a.slice($e,Mi).replace(Wo,Us),Yn&&(se=!0,nt+=`' + -__e(`+Yn+`) + -'`),Pi&&(Ee=!0,nt+=`'; -`+Pi+`; -__p += '`),er&&(nt+=`' + -((__t = (`+er+`)) == null ? '' : __t) + -'`),$e=Mi+dn.length,dn}),nt+=`'; -`;var an=or.call(p,"variable")&&p.variable;if(!an)nt=`with (obj) { -`+nt+` -} -`;else if(Ru.test(an))throw new mt(t);nt=(Ee?nt.replace(ll,""):nt).replace(fl,"$1").replace(cl,"$1;"),nt="function("+(an||"obj")+`) { -`+(an?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(se?", __e = _.escape":"")+(Ee?`, __j = Array.prototype.join; -function print() { __p += __j.call(arguments, '') } -`:`; -`)+nt+`return __p -}`;var qn=$p(function(){return wn(G,Gt+"return "+nt).apply(i,te)});if(qn.source=nt,k1(qn))throw qn;return qn}function F_(a){return yr(a).toLowerCase()}function L_(a){return yr(a).toUpperCase()}function R_(a,p,E){if(a=yr(a),a&&(E||p===i))return E0(a);if(!a||!(p=ho(p)))return a;var I=Jn(a),B=Jn(p),G=wl(I,B),te=js(I,B)+1;return Vs(I,G,te).join("")}function F1(a,p,E){if(a=yr(a),a&&(E||p===i))return a.slice(0,ai(a)+1);if(!a||!(p=ho(p)))return a;var I=Jn(a),B=js(I,Jn(p))+1;return Vs(I,0,B).join("")}function N_(a,p,E){if(a=yr(a),a&&(E||p===i))return a.replace(si,"");if(!a||!(p=ho(p)))return a;var I=Jn(a),B=wl(I,Jn(p));return Vs(I,B).join("")}function B_(a,p){var E=Oe,I=Le;if(Jr(p)){var B="separator"in p?p.separator:B;E="length"in p?jn(p.length):E,I="omission"in p?ho(p.omission):I}a=yr(a);var G=a.length;if(Hi(a)){var te=Jn(a);G=te.length}if(E>=G)return a;var se=E-Rr(I);if(se<1)return I;var Ee=te?Vs(te,0,se).join(""):a.slice(0,se);if(B===i)return Ee+I;if(te&&(se+=Ee.length-se),ra(B)){if(a.slice(se).search(B)){var $e,Ke=Ee;for(B.global||(B=X0(B.source,yr(uu.exec(B))+"g")),B.lastIndex=0;$e=B.exec(Ke);)var nt=$e.index;Ee=Ee.slice(0,nt===i?se:nt)}}else if(a.indexOf(ho(B),se)!=se){var Ct=Ee.lastIndexOf(B);Ct>-1&&(Ee=Ee.slice(0,Ct))}return Ee+I}function Vp(a){return a=yr(a),a&&Mr.test(a)?a.replace(al,o0):a}var j_=yf(function(a,p,E){return a+(E?" ":"")+p.toUpperCase()}),L1=Fd("toUpperCase");function Yp(a,p,E){return a=yr(a),p=E?i:p,p===i?qs(a)?cf(a):d0(a):a.match(p)||[]}var $p=Wn(function(a,p){try{return K(a,i,p)}catch(E){return k1(E)?E:new mt(E)}}),U_=yu(function(a,p){return je(p,function(E){E=Xo(E),ti(a,E,S1(a[E],a))}),a});function Kp(a){var p=a==null?0:a.length,E=cn();return a=p?lt(a,function(I){if(typeof I[1]!="function")throw new Yr(g);return[E(I[0]),I[1]]}):[],Wn(function(I){for(var B=-1;++BNt)return[];var E=ne,I=kn(a,ne);p=cn(p),a-=ne;for(var B=ci(I,p);++E0||p<0)?new nn(E):(a<0?E=E.takeRight(-a):a&&(E=E.drop(a)),p!==i&&(p=jn(p),E=p<0?E.dropRight(-p):E.take(p-a)),E)},nn.prototype.takeRightWhile=function(a){return this.reverse().takeWhile(a).reverse()},nn.prototype.toArray=function(){return this.take(ne)},S(nn.prototype,function(a,p){var E=/^(?:filter|find|map|reject)|While$/.test(p),I=/^(?:head|last)$/.test(p),B=z[I?"take"+(p=="last"?"Right":""):p],G=I||/^find/.test(p);!B||(z.prototype[p]=function(){var te=this.__wrapped__,se=I?[1]:arguments,Ee=te instanceof nn,$e=se[0],Ke=Ee||On(te),nt=function(Yn){var er=B.apply(z,Rt([Yn],se));return I&&Ct?er[0]:er};Ke&&E&&typeof $e=="function"&&$e.length!=1&&(Ee=Ke=!1);var Ct=this.__chain__,Gt=!!this.__actions__.length,an=G&&!Ct,qn=Ee&&!Gt;if(!G&&Ke){te=qn?te:new nn(this);var dn=a.apply(te,se);return dn.__actions__.push({func:Kc,args:[nt],thisArg:i}),new Qn(dn,Ct)}return an&&qn?a.apply(this,se):(dn=this.thru(nt),an?I?dn.value()[0]:dn.value():dn)})}),je(["pop","push","shift","sort","splice","unshift"],function(a){var p=$r[a],E=/^(?:push|sort|unshift)$/.test(a)?"tap":"thru",I=/^(?:pop|shift)$/.test(a);z.prototype[a]=function(){var B=arguments;if(I&&!this.__chain__){var G=this.value();return p.apply(On(G)?G:[],B)}return this[E](function(te){return p.apply(On(te)?te:[],B)})}}),S(nn.prototype,function(a,p){var E=z[p];if(E){var I=E.name+"";or.call(bt,I)||(bt[I]=[]),bt[I].push({name:p,func:E})}}),bt[zc(i,re).name]=[{name:"wrapper",func:i}],nn.prototype.clone=s0,nn.prototype.reverse=t0,nn.prototype.value=g0,z.prototype.at=Wv,z.prototype.chain=Hv,z.prototype.commit=bv,z.prototype.next=Gv,z.prototype.plant=Yv,z.prototype.reverse=Ml,z.prototype.toJSON=z.prototype.valueOf=z.prototype.value=Fl,z.prototype.first=z.prototype.head,u0&&(z.prototype[u0]=Vv),z},K0=$0();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Lr._=K0,define(function(){return K0})):R?((R.exports=K0)._=K0,F._=K0):Lr._=K0}).call(ga)});var ay=Me((XH,cy)=>{"use strict";var fr=cy.exports;cy.exports.default=fr;var Pr="[",t2="]",ya="\x07",vh=";",OD=process.env.TERM_PROGRAM==="Apple_Terminal";fr.cursorTo=(i,u)=>{if(typeof i!="number")throw new TypeError("The `x` argument is required");return typeof u!="number"?Pr+(i+1)+"G":Pr+(u+1)+";"+(i+1)+"H"};fr.cursorMove=(i,u)=>{if(typeof i!="number")throw new TypeError("The `x` argument is required");let f="";return i<0?f+=Pr+-i+"D":i>0&&(f+=Pr+i+"C"),u<0?f+=Pr+-u+"A":u>0&&(f+=Pr+u+"B"),f};fr.cursorUp=(i=1)=>Pr+i+"A";fr.cursorDown=(i=1)=>Pr+i+"B";fr.cursorForward=(i=1)=>Pr+i+"C";fr.cursorBackward=(i=1)=>Pr+i+"D";fr.cursorLeft=Pr+"G";fr.cursorSavePosition=OD?"7":Pr+"s";fr.cursorRestorePosition=OD?"8":Pr+"u";fr.cursorGetPosition=Pr+"6n";fr.cursorNextLine=Pr+"E";fr.cursorPrevLine=Pr+"F";fr.cursorHide=Pr+"?25l";fr.cursorShow=Pr+"?25h";fr.eraseLines=i=>{let u="";for(let f=0;f[t2,"8",vh,vh,u,ya,i,t2,"8",vh,vh,ya].join("");fr.image=(i,u={})=>{let f=`${t2}1337;File=inline=1`;return u.width&&(f+=`;width=${u.width}`),u.height&&(f+=`;height=${u.height}`),u.preserveAspectRatio===!1&&(f+=";preserveAspectRatio=0"),f+":"+i.toString("base64")+ya};fr.iTerm={setCwd:(i=process.cwd())=>`${t2}50;CurrentDir=${i}${ya}`,annotation:(i,u={})=>{let f=`${t2}1337;`,c=typeof u.x!="undefined",g=typeof u.y!="undefined";if((c||g)&&!(c&&g&&typeof u.length!="undefined"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return i=i.replace(/\|/g,""),f+=u.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",u.length>0?f+=(c?[i,u.length,u.x,u.y]:[u.length,i]).join("|"):f+=i,f+ya}}});var PD=Me((JH,dy)=>{"use strict";var ID=(i,u)=>{for(let f of Reflect.ownKeys(u))Object.defineProperty(i,f,Object.getOwnPropertyDescriptor(u,f));return i};dy.exports=ID;dy.exports.default=ID});var FD=Me((QH,gh)=>{"use strict";var oN=PD(),_h=new WeakMap,MD=(i,u={})=>{if(typeof i!="function")throw new TypeError("Expected a function");let f,c=!1,g=0,t=i.displayName||i.name||"",C=function(...A){if(_h.set(C,++g),c){if(u.throw===!0)throw new Error(`Function \`${t}\` can only be called once`);return f}return c=!0,f=i.apply(this,A),i=null,f};return oN(C,i),_h.set(C,g),C};gh.exports=MD;gh.exports.default=MD;gh.exports.callCount=i=>{if(!_h.has(i))throw new Error(`The given function \`${i.name}\` is not wrapped by the \`onetime\` package`);return _h.get(i)}});var LD=Me((ZH,yh)=>{yh.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&yh.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&yh.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var vy=Me((eb,n2)=>{var uN=require("assert"),r2=LD(),sN=/^win/i.test(process.platform),wh=require("events");typeof wh!="function"&&(wh=wh.EventEmitter);var Bi;process.__signal_exit_emitter__?Bi=process.__signal_exit_emitter__:(Bi=process.__signal_exit_emitter__=new wh,Bi.count=0,Bi.emitted={});Bi.infinite||(Bi.setMaxListeners(Infinity),Bi.infinite=!0);n2.exports=function(i,u){uN.equal(typeof i,"function","a callback must be provided for exit handler"),i2===!1&&RD();var f="exit";u&&u.alwaysLast&&(f="afterexit");var c=function(){Bi.removeListener(f,i),Bi.listeners("exit").length===0&&Bi.listeners("afterexit").length===0&&py()};return Bi.on(f,i),c};n2.exports.unload=py;function py(){!i2||(i2=!1,r2.forEach(function(i){try{process.removeListener(i,hy[i])}catch(u){}}),process.emit=my,process.reallyExit=ND,Bi.count-=1)}function wa(i,u,f){Bi.emitted[i]||(Bi.emitted[i]=!0,Bi.emit(i,u,f))}var hy={};r2.forEach(function(i){hy[i]=function(){var f=process.listeners(i);f.length===Bi.count&&(py(),wa("exit",null,i),wa("afterexit",null,i),sN&&i==="SIGHUP"&&(i="SIGINT"),process.kill(process.pid,i))}});n2.exports.signals=function(){return r2};n2.exports.load=RD;var i2=!1;function RD(){i2||(i2=!0,Bi.count+=1,r2=r2.filter(function(i){try{return process.on(i,hy[i]),!0}catch(u){return!1}}),process.emit=fN,process.reallyExit=lN)}var ND=process.reallyExit;function lN(i){process.exitCode=i||0,wa("exit",process.exitCode,null),wa("afterexit",process.exitCode,null),ND.call(process,process.exitCode)}var my=process.emit;function fN(i,u){if(i==="exit"){u!==void 0&&(process.exitCode=u);var f=my.apply(this,arguments);return wa("exit",process.exitCode,null),wa("afterexit",process.exitCode,null),f}else return my.apply(this,arguments)}});var jD=Me((tb,BD)=>{"use strict";var cN=FD(),aN=vy();BD.exports=cN(()=>{aN(()=>{process.stderr.write("[?25h")},{alwaysLast:!0})})});var gy=Me(Da=>{"use strict";var dN=jD(),Dh=!1;Da.show=(i=process.stderr)=>{!i.isTTY||(Dh=!1,i.write("[?25h"))};Da.hide=(i=process.stderr)=>{!i.isTTY||(dN(),Dh=!0,i.write("[?25l"))};Da.toggle=(i,u)=>{i!==void 0&&(Dh=i),Dh?Da.show(u):Da.hide(u)}});var WD=Me(o2=>{"use strict";var UD=o2&&o2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(o2,"__esModule",{value:!0});var qD=UD(ay()),zD=UD(gy()),pN=(i,{showCursor:u=!1}={})=>{let f=0,c="",g=!1,t=C=>{!u&&!g&&(zD.default.hide(),g=!0);let A=C+` -`;A!==c&&(c=A,i.write(qD.default.eraseLines(f)+A),f=A.split(` -`).length)};return t.clear=()=>{i.write(qD.default.eraseLines(f)),c="",f=0},t.done=()=>{c="",f=0,u||(zD.default.show(),g=!1)},t};o2.default={create:pN}});var bD=Me((ib,HD)=>{HD.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY_BUILD_BASE",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}}]});var YD=Me(ru=>{"use strict";var GD=bD(),nl=process.env;Object.defineProperty(ru,"_vendors",{value:GD.map(function(i){return i.constant})});ru.name=null;ru.isPR=null;GD.forEach(function(i){var u=Array.isArray(i.env)?i.env:[i.env],f=u.every(function(c){return VD(c)});if(ru[i.constant]=f,f)switch(ru.name=i.name,typeof i.pr){case"string":ru.isPR=!!nl[i.pr];break;case"object":"env"in i.pr?ru.isPR=i.pr.env in nl&&nl[i.pr.env]!==i.pr.ne:"any"in i.pr?ru.isPR=i.pr.any.some(function(c){return!!nl[c]}):ru.isPR=VD(i.pr);break;default:ru.isPR=null}});ru.isCI=!!(nl.CI||nl.CONTINUOUS_INTEGRATION||nl.BUILD_NUMBER||nl.RUN_ID||ru.name);function VD(i){return typeof i=="string"?!!nl[i]:Object.keys(i).every(function(u){return nl[u]===i[u]})}});var KD=Me((ub,$D)=>{"use strict";$D.exports=YD().isCI});var JD=Me((sb,XD)=>{"use strict";var hN=i=>{let u=new Set;do for(let f of Reflect.ownKeys(i))u.add([i,f]);while((i=Reflect.getPrototypeOf(i))&&i!==Object.prototype);return u};XD.exports=(i,{include:u,exclude:f}={})=>{let c=g=>{let t=C=>typeof C=="string"?g===C:C.test(g);return u?u.some(t):f?!f.some(t):!0};for(let[g,t]of hN(i.constructor.prototype)){if(t==="constructor"||!c(t))continue;let C=Reflect.getOwnPropertyDescriptor(g,t);C&&typeof C.value=="function"&&(i[t]=i[t].bind(i))}return i}});var iE=Me(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});var Ea,u2,Eh,Sh,_y;typeof window=="undefined"||typeof MessageChannel!="function"?(Sa=null,yy=null,wy=function(){if(Sa!==null)try{var i=Sr.unstable_now();Sa(!0,i),Sa=null}catch(u){throw setTimeout(wy,0),u}},QD=Date.now(),Sr.unstable_now=function(){return Date.now()-QD},Ea=function(i){Sa!==null?setTimeout(Ea,0,i):(Sa=i,setTimeout(wy,0))},u2=function(i,u){yy=setTimeout(i,u)},Eh=function(){clearTimeout(yy)},Sh=function(){return!1},_y=Sr.unstable_forceFrameRate=function(){}):(Ch=window.performance,Dy=window.Date,ZD=window.setTimeout,eE=window.clearTimeout,typeof console!="undefined"&&(tE=window.cancelAnimationFrame,typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),typeof tE!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")),typeof Ch=="object"&&typeof Ch.now=="function"?Sr.unstable_now=function(){return Ch.now()}:(nE=Dy.now(),Sr.unstable_now=function(){return Dy.now()-nE}),s2=!1,l2=null,Th=-1,Ey=5,Sy=0,Sh=function(){return Sr.unstable_now()>=Sy},_y=function(){},Sr.unstable_forceFrameRate=function(i){0>i||125kh(C,f))x!==void 0&&0>kh(x,C)?(i[c]=x,i[A]=f,c=A):(i[c]=C,i[t]=f,c=t);else if(x!==void 0&&0>kh(x,f))i[c]=x,i[A]=f,c=A;else break e}}return u}return null}function kh(i,u){var f=i.sortIndex-u.sortIndex;return f!==0?f:i.id-u.id}var ds=[],Nf=[],mN=1,_o=null,to=3,Oh=!1,pc=!1,f2=!1;function Ih(i){for(var u=Iu(Nf);u!==null;){if(u.callback===null)Ah(Nf);else if(u.startTime<=i)Ah(Nf),u.sortIndex=u.expirationTime,Ty(ds,u);else break;u=Iu(Nf)}}function xy(i){if(f2=!1,Ih(i),!pc)if(Iu(ds)!==null)pc=!0,Ea(ky);else{var u=Iu(Nf);u!==null&&u2(xy,u.startTime-i)}}function ky(i,u){pc=!1,f2&&(f2=!1,Eh()),Oh=!0;var f=to;try{for(Ih(u),_o=Iu(ds);_o!==null&&(!(_o.expirationTime>u)||i&&!Sh());){var c=_o.callback;if(c!==null){_o.callback=null,to=_o.priorityLevel;var g=c(_o.expirationTime<=u);u=Sr.unstable_now(),typeof g=="function"?_o.callback=g:_o===Iu(ds)&&Ah(ds),Ih(u)}else Ah(ds);_o=Iu(ds)}if(_o!==null)var t=!0;else{var C=Iu(Nf);C!==null&&u2(xy,C.startTime-u),t=!1}return t}finally{_o=null,to=f,Oh=!1}}function rE(i){switch(i){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var vN=_y;Sr.unstable_ImmediatePriority=1;Sr.unstable_UserBlockingPriority=2;Sr.unstable_NormalPriority=3;Sr.unstable_IdlePriority=5;Sr.unstable_LowPriority=4;Sr.unstable_runWithPriority=function(i,u){switch(i){case 1:case 2:case 3:case 4:case 5:break;default:i=3}var f=to;to=i;try{return u()}finally{to=f}};Sr.unstable_next=function(i){switch(to){case 1:case 2:case 3:var u=3;break;default:u=to}var f=to;to=u;try{return i()}finally{to=f}};Sr.unstable_scheduleCallback=function(i,u,f){var c=Sr.unstable_now();if(typeof f=="object"&&f!==null){var g=f.delay;g=typeof g=="number"&&0c?(i.sortIndex=g,Ty(Nf,i),Iu(ds)===null&&i===Iu(Nf)&&(f2?Eh():f2=!0,u2(xy,g-c))):(i.sortIndex=f,Ty(ds,i),pc||Oh||(pc=!0,Ea(ky))),i};Sr.unstable_cancelCallback=function(i){i.callback=null};Sr.unstable_wrapCallback=function(i){var u=to;return function(){var f=to;to=u;try{return i.apply(this,arguments)}finally{to=f}}};Sr.unstable_getCurrentPriorityLevel=function(){return to};Sr.unstable_shouldYield=function(){var i=Sr.unstable_now();Ih(i);var u=Iu(ds);return u!==_o&&_o!==null&&u!==null&&u.callback!==null&&u.startTime<=i&&u.expirationTime<_o.expirationTime||Sh()};Sr.unstable_requestPaint=vN;Sr.unstable_continueExecution=function(){pc||Oh||(pc=!0,Ea(ky))};Sr.unstable_pauseExecution=function(){};Sr.unstable_getFirstCallbackNode=function(){return Iu(ds)};Sr.unstable_Profiling=null});var Ay=Me((fb,oE)=>{"use strict";oE.exports=iE()});var uE=Me((cb,c2)=>{c2.exports=function i(u){"use strict";var f=ey(),c=lr(),g=Ay();function t(v){for(var m="https://reactjs.org/docs/error-decoder.html?invariant="+v,S=1;Sqo||(v.current=qi[qo],qi[qo]=null,qo--)}function Fr(v,m){qo++,qi[qo]=v.current,v.current=m}var si={},H0={current:si},b0={current:!1},Bt=si;function Lu(v,m){var S=v.type.contextTypes;if(!S)return si;var O=v.stateNode;if(O&&O.__reactInternalMemoizedUnmaskedChildContext===m)return O.__reactInternalMemoizedMaskedChildContext;var M={},b;for(b in S)M[b]=m[b];return O&&(v=v.stateNode,v.__reactInternalMemoizedUnmaskedChildContext=m,v.__reactInternalMemoizedMaskedChildContext=M),M}function c0(v){return v=v.childContextTypes,v!=null}function Ru(v){kr(b0,v),kr(H0,v)}function ks(v){kr(b0,v),kr(H0,v)}function As(v,m,S){if(H0.current!==si)throw Error(t(168));Fr(H0,m,v),Fr(b0,S,v)}function uu(v,m,S){var O=v.stateNode;if(v=m.childContextTypes,typeof O.getChildContext!="function")return S;O=O.getChildContext();for(var M in O)if(!(M in v))throw Error(t(108,Oe(m)||"Unknown",M));return f({},S,{},O)}function wo(v){var m=v.stateNode;return m=m&&m.__reactInternalMemoizedMergedChildContext||si,Bt=H0.current,Fr(H0,m,v),Fr(b0,b0.current,v),!0}function zo(v,m,S){var O=v.stateNode;if(!O)throw Error(t(169));S?(m=uu(v,m,Bt),O.__reactInternalMemoizedMergedChildContext=m,kr(b0,v),kr(H0,v),Fr(H0,m,v)):kr(b0,v),Fr(b0,S,v)}var Os=g.unstable_runWithPriority,Is=g.unstable_scheduleCallback,uf=g.unstable_cancelCallback,_n=g.unstable_shouldYield,Nu=g.unstable_requestPaint,Wo=g.unstable_now,su=g.unstable_getCurrentPriorityLevel,Ps=g.unstable_ImmediatePriority,pl=g.unstable_UserBlockingPriority,Vf=g.unstable_NormalPriority,hl=g.unstable_LowPriority,Bu=g.unstable_IdlePriority,ju={},sf=Nu!==void 0?Nu:function(){},ro=null,Ms=null,ml=!1,Uu=Wo(),G0=1e4>Uu?Wo:function(){return Wo()-Uu};function Fs(){switch(su()){case Ps:return 99;case pl:return 98;case Vf:return 97;case hl:return 96;case Bu:return 95;default:throw Error(t(332))}}function tt(v){switch(v){case 99:return Ps;case 98:return pl;case 97:return Vf;case 96:return hl;case 95:return Bu;default:throw Error(t(332))}}function zi(v,m){return v=tt(v),Os(v,m)}function lu(v,m,S){return v=tt(v),Is(v,m,S)}function Ho(v){return ro===null?(ro=[v],Ms=Is(Ps,vl)):ro.push(v),ju}function O0(){if(Ms!==null){var v=Ms;Ms=null,uf(v)}vl()}function vl(){if(!ml&&ro!==null){ml=!0;var v=0;try{var m=ro;zi(99,function(){for(;v=m&&(ai=!0),v.firstContext=null)}function D0(v,m){if(zu!==v&&m!==!1&&m!==0)if((typeof m!="number"||m===1073741823)&&(zu=v,m=1073741823),m={context:v,observedBits:m,next:null},Wi===null){if(qu===null)throw Error(t(308));Wi=m,qu.dependencies={expirationTime:0,firstContext:m,responders:null}}else Wi=Wi.next=m;return Jt?v._currentValue:v._currentValue2}var Do=!1;function i0(v){return{baseState:v,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Rs(v){return{baseState:v.baseState,firstUpdate:v.firstUpdate,lastUpdate:v.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function a0(v,m){return{expirationTime:v,suspenseConfig:m,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function Hu(v,m){v.lastUpdate===null?v.firstUpdate=v.lastUpdate=m:(v.lastUpdate.next=m,v.lastUpdate=m)}function V0(v,m){var S=v.alternate;if(S===null){var O=v.updateQueue,M=null;O===null&&(O=v.updateQueue=i0(v.memoizedState))}else O=v.updateQueue,M=S.updateQueue,O===null?M===null?(O=v.updateQueue=i0(v.memoizedState),M=S.updateQueue=i0(S.memoizedState)):O=v.updateQueue=Rs(M):M===null&&(M=S.updateQueue=Rs(O));M===null||O===M?Hu(O,m):O.lastUpdate===null||M.lastUpdate===null?(Hu(O,m),Hu(M,m)):(Hu(O,m),M.lastUpdate=m)}function bu(v,m){var S=v.updateQueue;S=S===null?v.updateQueue=i0(v.memoizedState):Ns(v,S),S.lastCapturedUpdate===null?S.firstCapturedUpdate=S.lastCapturedUpdate=m:(S.lastCapturedUpdate.next=m,S.lastCapturedUpdate=m)}function Ns(v,m){var S=v.alternate;return S!==null&&m===S.updateQueue&&(m=v.updateQueue=Rs(m)),m}function bo(v,m,S,O,M,b){switch(S.tag){case 1:return v=S.payload,typeof v=="function"?v.call(b,O,M):v;case 3:v.effectTag=v.effectTag&-4097|64;case 0:if(v=S.payload,M=typeof v=="function"?v.call(b,O,M):v,M==null)break;return f({},O,M);case 2:Do=!0}return O}function P0(v,m,S,O,M){Do=!1,m=Ns(v,m);for(var b=m.baseState,ee=null,Ye=0,Ze=m.firstUpdate,ut=b;Ze!==null;){var In=Ze.expirationTime;Inpr?(Hr=mn,mn=null):Hr=mn.sibling;var Vn=jr(Re,mn,ze[pr],Et);if(Vn===null){mn===null&&(mn=Hr);break}v&&mn&&Vn.alternate===null&&m(Re,mn),Ce=b(Vn,Ce,pr),sr===null?on=Vn:sr.sibling=Vn,sr=Vn,mn=Hr}if(pr===ze.length)return S(Re,mn),on;if(mn===null){for(;prpr?(Hr=mn,mn=null):Hr=mn.sibling;var ni=jr(Re,mn,Vn.value,Et);if(ni===null){mn===null&&(mn=Hr);break}v&&mn&&ni.alternate===null&&m(Re,mn),Ce=b(ni,Ce,pr),sr===null?on=ni:sr.sibling=ni,sr=ni,mn=Hr}if(Vn.done)return S(Re,mn),on;if(mn===null){for(;!Vn.done;pr++,Vn=ze.next())Vn=A0(Re,Vn.value,Et),Vn!==null&&(Ce=b(Vn,Ce,pr),sr===null?on=Vn:sr.sibling=Vn,sr=Vn);return on}for(mn=O(Re,mn);!Vn.done;pr++,Vn=ze.next())Vn=gi(mn,Re,pr,Vn.value,Et),Vn!==null&&(v&&Vn.alternate!==null&&mn.delete(Vn.key===null?pr:Vn.key),Ce=b(Vn,Ce,pr),sr===null?on=Vn:sr.sibling=Vn,sr=Vn);return v&&mn.forEach(function(Zf){return m(Re,Zf)}),on}return function(Re,Ce,ze,Et){var on=typeof ze=="object"&&ze!==null&&ze.type===L&&ze.key===null;on&&(ze=ze.props.children);var sr=typeof ze=="object"&&ze!==null;if(sr)switch(ze.$$typeof){case x:e:{for(sr=ze.key,on=Ce;on!==null;){if(on.key===sr)if(on.tag===7?ze.type===L:on.elementType===ze.type){S(Re,on.sibling),Ce=M(on,ze.type===L?ze.props.children:ze.props,Et),Ce.ref=au(Re,on,ze),Ce.return=Re,Re=Ce;break e}else{S(Re,on);break}else m(Re,on);on=on.sibling}ze.type===L?(Ce=mi(ze.props.children,Re.mode,Et,ze.key),Ce.return=Re,Re=Ce):(Et=Hs(ze.type,ze.key,ze.props,null,Re.mode,Et),Et.ref=au(Re,Ce,ze),Et.return=Re,Re=Et)}return ee(Re);case D:e:{for(on=ze.key;Ce!==null;){if(Ce.key===on)if(Ce.tag===4&&Ce.stateNode.containerInfo===ze.containerInfo&&Ce.stateNode.implementation===ze.implementation){S(Re,Ce.sibling),Ce=M(Ce,ze.children||[],Et),Ce.return=Re,Re=Ce;break e}else{S(Re,Ce);break}else m(Re,Ce);Ce=Ce.sibling}Ce=Xf(ze,Re.mode,Et),Ce.return=Re,Re=Ce}return ee(Re)}if(typeof ze=="string"||typeof ze=="number")return ze=""+ze,Ce!==null&&Ce.tag===6?(S(Re,Ce.sibling),Ce=M(Ce,ze,Et),Ce.return=Re,Re=Ce):(S(Re,Ce),Ce=vi(ze,Re.mode,Et),Ce.return=Re,Re=Ce),ee(Re);if(M0(ze))return po(Re,Ce,ze,Et);if(J(ze))return _i(Re,Ce,ze,Et);if(sr&&Lr(Re,ze),typeof ze=="undefined"&&!on)switch(Re.tag){case 1:case 0:throw Re=Re.type,Error(t(152,Re.displayName||Re.name||"Component"))}return S(Re,Ce)}}var R=F(!0),U=F(!1),H={},fe={current:H},ue={current:H},de={current:H};function W(v){if(v===H)throw Error(t(174));return v}function ve(v,m){Fr(de,m,v),Fr(ue,v,v),Fr(fe,H,v),m=Ot(m),kr(fe,v),Fr(fe,m,v)}function Fe(v){kr(fe,v),kr(ue,v),kr(de,v)}function Ge(v){var m=W(de.current),S=W(fe.current);m=Nt(S,v.type,m),S!==m&&(Fr(ue,v,v),Fr(fe,m,v))}function K(v){ue.current===v&&(kr(fe,v),kr(ue,v))}var xe={current:0};function je(v){for(var m=v;m!==null;){if(m.tag===13){var S=m.memoizedState;if(S!==null&&(S=S.dehydrated,S===null||ll(S)||fl(S)))return m}else if(m.tag===19&&m.memoizedProps.revealOrder!==void 0){if((m.effectTag&64)!=0)return m}else if(m.child!==null){m.child.return=m,m=m.child;continue}if(m===v)break;for(;m.sibling===null;){if(m.return===null||m.return===v)return null;m=m.return}m.sibling.return=m.return,m=m.sibling}return null}function Xe(v,m){return{responder:v,props:m}}var rt=C.ReactCurrentDispatcher,st=C.ReactCurrentBatchConfig,xt=0,wt=null,lt=null,Rt=null,yn=null,sn=null,ar=null,rn=0,Hn=null,d0=0,Cr=!1,He=null,Qe=0;function Ne(){throw Error(t(321))}function ft(v,m){if(m===null)return!1;for(var S=0;Srn&&(rn=In,pf(rn))):(Yf(In,Ze.suspenseConfig),b=Ze.eagerReducer===v?Ze.eagerState:v(b,Ze.action)),ee=Ze,Ze=Ze.next}while(Ze!==null&&Ze!==O);ut||(Ye=ee,M=b),Sn(b,m.memoizedState)||(ai=!0),m.memoizedState=b,m.baseUpdate=Ye,m.baseState=M,S.lastRenderedState=b}return[m.memoizedState,S.dispatch]}function ci(v){var m=Cn();return typeof v=="function"&&(v=v()),m.memoizedState=m.baseState=v,v=m.queue={last:null,dispatch:null,lastRenderedReducer:p0,lastRenderedState:v},v=v.dispatch=Us.bind(null,wt,v),[m.memoizedState,v]}function xi(v){return h0(p0,v)}function E0(v,m,S,O){return v={tag:v,create:m,destroy:S,deps:O,next:null},Hn===null?(Hn={lastEffect:null},Hn.lastEffect=v.next=v):(m=Hn.lastEffect,m===null?Hn.lastEffect=v.next=v:(S=m.next,m.next=v,v.next=S,Hn.lastEffect=v)),v}function qr(v,m,S,O){var M=Cn();d0|=v,M.memoizedState=E0(m,S,void 0,O===void 0?null:O)}function Eo(v,m,S,O){var M=bn();O=O===void 0?null:O;var b=void 0;if(lt!==null){var ee=lt.memoizedState;if(b=ee.destroy,O!==null&&ft(O,ee.deps)){E0(0,S,b,O);return}}d0|=v,M.memoizedState=E0(m,S,b,O)}function So(v,m){return qr(516,192,v,m)}function wl(v,m){return Eo(516,192,v,m)}function js(v,m){if(typeof m=="function")return v=v(),m(v),function(){m(null)};if(m!=null)return v=v(),m.current=v,function(){m.current=null}}function Dl(){}function du(v,m){return Cn().memoizedState=[v,m===void 0?null:m],v}function Yu(v,m){var S=bn();m=m===void 0?null:m;var O=S.memoizedState;return O!==null&&m!==null&&ft(m,O[1])?O[0]:(S.memoizedState=[v,m],v)}function Us(v,m,S){if(!(25>Qe))throw Error(t(301));var O=v.alternate;if(v===wt||O!==null&&O===wt)if(Cr=!0,v={expirationTime:xt,suspenseConfig:null,action:S,eagerReducer:null,eagerState:null,next:null},He===null&&(He=new Map),S=He.get(m),S===void 0)He.set(m,v);else{for(m=S;m.next!==null;)m=m.next;m.next=v}else{var M=g0(),b=nr.suspense;M=Kr(M,v,b),b={expirationTime:M,suspenseConfig:b,action:S,eagerReducer:null,eagerState:null,next:null};var ee=m.last;if(ee===null)b.next=b;else{var Ye=ee.next;Ye!==null&&(b.next=Ye),ee.next=b}if(m.last=b,v.expirationTime===0&&(O===null||O.expirationTime===0)&&(O=m.lastRenderedReducer,O!==null))try{var Ze=m.lastRenderedState,ut=O(Ze,S);if(b.eagerReducer=O,b.eagerState=ut,Sn(ut,Ze))return}catch(In){}finally{}_0(v,M)}}var oo={readContext:D0,useCallback:Ne,useContext:Ne,useEffect:Ne,useImperativeHandle:Ne,useLayoutEffect:Ne,useMemo:Ne,useReducer:Ne,useRef:Ne,useState:Ne,useDebugValue:Ne,useResponder:Ne,useDeferredValue:Ne,useTransition:Ne},Hi={readContext:D0,useCallback:du,useContext:D0,useEffect:So,useImperativeHandle:function(v,m,S){return S=S!=null?S.concat([v]):null,qr(4,36,js.bind(null,m,v),S)},useLayoutEffect:function(v,m){return qr(4,36,v,m)},useMemo:function(v,m){var S=Cn();return m=m===void 0?null:m,v=v(),S.memoizedState=[v,m],v},useReducer:function(v,m,S){var O=Cn();return m=S!==void 0?S(m):m,O.memoizedState=O.baseState=m,v=O.queue={last:null,dispatch:null,lastRenderedReducer:v,lastRenderedState:m},v=v.dispatch=Us.bind(null,wt,v),[O.memoizedState,v]},useRef:function(v){var m=Cn();return v={current:v},m.memoizedState=v},useState:ci,useDebugValue:Dl,useResponder:Xe,useDeferredValue:function(v,m){var S=ci(v),O=S[0],M=S[1];return So(function(){g.unstable_next(function(){var b=st.suspense;st.suspense=m===void 0?null:m;try{M(v)}finally{st.suspense=b}})},[v,m]),O},useTransition:function(v){var m=ci(!1),S=m[0],O=m[1];return[du(function(M){O(!0),g.unstable_next(function(){var b=st.suspense;st.suspense=v===void 0?null:v;try{O(!1),M()}finally{st.suspense=b}})},[v,S]),S]}},qs={readContext:D0,useCallback:Yu,useContext:D0,useEffect:wl,useImperativeHandle:function(v,m,S){return S=S!=null?S.concat([v]):null,Eo(4,36,js.bind(null,m,v),S)},useLayoutEffect:function(v,m){return Eo(4,36,v,m)},useMemo:function(v,m){var S=bn();m=m===void 0?null:m;var O=S.memoizedState;return O!==null&&m!==null&&ft(m,O[1])?O[0]:(v=v(),S.memoizedState=[v,m],v)},useReducer:h0,useRef:function(){return bn().memoizedState},useState:xi,useDebugValue:Dl,useResponder:Xe,useDeferredValue:function(v,m){var S=xi(v),O=S[0],M=S[1];return wl(function(){g.unstable_next(function(){var b=st.suspense;st.suspense=m===void 0?null:m;try{M(v)}finally{st.suspense=b}})},[v,m]),O},useTransition:function(v){var m=xi(!1),S=m[0],O=m[1];return[Yu(function(M){O(!0),g.unstable_next(function(){var b=st.suspense;st.suspense=v===void 0?null:v;try{O(!1),M()}finally{st.suspense=b}})},[v,S]),S]}},F0=null,Gr=null,ir=!1;function L0(v,m){var S=xo(5,null,null,0);S.elementType="DELETED",S.type="DELETED",S.stateNode=m,S.return=v,S.effectTag=8,v.lastEffect!==null?(v.lastEffect.nextEffect=S,v.lastEffect=S):v.firstEffect=v.lastEffect=S}function Y0(v,m){switch(v.tag){case 5:return m=Ti(m,v.type,v.pendingProps),m!==null?(v.stateNode=m,!0):!1;case 6:return m=Fu(m,v.pendingProps),m!==null?(v.stateNode=m,!0):!1;case 13:return!1;default:return!1}}function Co(v){if(ir){var m=Gr;if(m){var S=m;if(!Y0(v,m)){if(m=cl(S),!m||!Y0(v,m)){v.effectTag=v.effectTag&-1025|2,ir=!1,F0=v;return}L0(F0,S)}F0=v,Gr=al(m)}else v.effectTag=v.effectTag&-1025|2,ir=!1,F0=v}}function $u(v){for(v=v.return;v!==null&&v.tag!==5&&v.tag!==3&&v.tag!==13;)v=v.return;F0=v}function Vo(v){if(!w||v!==F0)return!1;if(!ir)return $u(v),ir=!0,!1;var m=v.type;if(v.tag!==5||m!=="head"&&m!=="body"&&!at(m,v.memoizedProps))for(m=Gr;m;)L0(v,m),m=cl(m);if($u(v),v.tag===13){if(!w)throw Error(t(316));if(v=v.memoizedState,v=v!==null?v.dehydrated:null,!v)throw Error(t(317));Gr=Ac(v)}else Gr=F0?cl(v.stateNode):null;return!0}function Rr(){w&&(Gr=F0=null,ir=!1)}var Jn=C.ReactCurrentOwner,ai=!1;function o0(v,m,S,O){m.child=v===null?U(m,null,S,O):R(m,v.child,S,O)}function Vr(v,m,S,O,M){S=S.render;var b=m.ref;return io(m,M),O=St(v,m,S,O,b,M),v!==null&&!ai?(m.updateQueue=v.updateQueue,m.effectTag&=-517,v.expirationTime<=M&&(v.expirationTime=0),X0(v,m,M)):(m.effectTag|=1,o0(v,m,O,M),m.child)}function ff(v,m,S,O,M,b){if(v===null){var ee=S.type;return typeof ee=="function"&&!mf(ee)&&ee.defaultProps===void 0&&S.compare===null&&S.defaultProps===void 0?(m.tag=15,m.type=ee,cf(v,m,ee,O,M,b)):(v=Hs(S.type,null,O,null,m.mode,b),v.ref=m.ref,v.return=m,m.child=v)}return ee=v.child,Mm)&&Qn.set(v,m)))}}function Gi(v,m){v.expirationTimev?m:v)}function x0(v){if(v.lastExpiredTime!==0)v.callbackExpirationTime=1073741823,v.callbackPriority=99,v.callbackNode=Ho(Z0.bind(null,v));else{var m=fo(v),S=v.callbackNode;if(m===0)S!==null&&(v.callbackNode=null,v.callbackExpirationTime=0,v.callbackPriority=90);else{var O=g0();if(m===1073741823?O=99:m===1||m===2?O=95:(O=10*(1073741821-m)-10*(1073741821-O),O=0>=O?99:250>=O?98:5250>=O?97:95),S!==null){var M=v.callbackPriority;if(v.callbackExpirationTime===m&&M>=O)return;S!==ju&&uf(S)}v.callbackExpirationTime=m,v.callbackPriority=O,m=m===1073741823?Ho(Z0.bind(null,v)):lu(O,Xu.bind(null,v),{timeout:10*(1073741821-m)-G0()}),v.callbackNode=m}}}function Xu(v,m){if(t0=0,m)return m=g0(),kl(v,m),x0(v),null;var S=fo(v);if(S!==0){if(m=v.callbackNode,(Kt&(Br|zr))!==Fn)throw Error(t(327));if(Ws(),v===X&&S===ye||mu(v,S),Y!==null){var O=Kt;Kt|=Br;var M=ei(v);do try{Ua();break}catch(Ye){Ju(v,Ye)}while(1);if(Wu(),Kt=O,B0.current=M,he===wr)throw m=We,mu(v,S),ao(v,S),x0(v),m;if(Y===null)switch(M=v.finishedWork=v.current.alternate,v.finishedExpirationTime=S,O=he,X=null,O){case lo:case wr:throw Error(t(345));case kn:kl(v,2=S){v.lastPingedTime=S,mu(v,S);break}}if(b=fo(v),b!==0&&b!==S)break;if(O!==0&&O!==S){v.lastPingedTime=O;break}v.timeoutHandle=jt(gu.bind(null,v),M);break}gu(v);break;case hi:if(ao(v,S),O=v.lastSuspendedTime,S===O&&(v.nextKnownPendingLevel=$f(M)),qt&&(M=v.lastPingedTime,M===0||M>=S)){v.lastPingedTime=S,mu(v,S);break}if(M=fo(v),M!==0&&M!==S)break;if(O!==0&&O!==S){v.lastPingedTime=O;break}if(Dt!==1073741823?O=10*(1073741821-Dt)-G0():et===1073741823?O=0:(O=10*(1073741821-et)-5e3,M=G0(),S=10*(1073741821-S)-M,O=M-O,0>O&&(O=0),O=(120>O?120:480>O?480:1080>O?1080:1920>O?1920:3e3>O?3e3:4320>O?4320:1960*Cl(O/1960))-O,S=O?O=0:(M=ee.busyDelayMs|0,b=G0()-(10*(1073741821-b)-(ee.timeoutMs|0||5e3)),O=b<=M?0:M+O-b),10 component higher in the tree to provide a loading indicator or placeholder to display.`+dl(M))}he!==Ai&&(he=kn),b=zs(b,M),Ze=O;do{switch(Ze.tag){case 3:ee=b,Ze.effectTag|=4096,Ze.expirationTime=m;var Ce=pu(Ze,ee,m);bu(Ze,Ce);break e;case 1:ee=b;var ze=Ze.type,Et=Ze.stateNode;if((Ze.effectTag&64)==0&&(typeof ze.getDerivedStateFromError=="function"||Et!==null&&typeof Et.componentDidCatch=="function"&&(Ar===null||!Ar.has(Et)))){Ze.effectTag|=4096,Ze.expirationTime=m;var on=Sl(Ze,ee,m);bu(Ze,on);break e}}Ze=Ze.return}while(Ze!==null)}Y=vu(Y)}catch(sr){m=sr;continue}break}while(1)}function ei(){var v=B0.current;return B0.current=oo,v===null?oo:v}function Yf(v,m){vZt&&(Zt=v)}function ja(){for(;Y!==null;)Y=Ic(Y)}function Ua(){for(;Y!==null&&!_n();)Y=Ic(Y)}function Ic(v){var m=Lc(v.alternate,v,ye);return v.memoizedProps=v.pendingProps,m===null&&(m=vu(v)),hu.current=null,m}function vu(v){Y=v;do{var m=Y.alternate;if(v=Y.return,(Y.effectTag&2048)==0){e:{var S=m;m=Y;var O=ye,M=m.pendingProps;switch(m.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:c0(m.type)&&Ru(m);break;case 3:Fe(m),ks(m),M=m.stateNode,M.pendingContext&&(M.context=M.pendingContext,M.pendingContext=null),(S===null||S.child===null)&&Vo(m)&&ki(m),$r(m);break;case 5:K(m);var b=W(de.current);if(O=m.type,S!==null&&m.stateNode!=null)m0(S,m,O,M,b),S.ref!==m.ref&&(m.effectTag|=128);else if(M){if(S=W(fe.current),Vo(m)){if(M=m,!w)throw Error(t(175));S=Ui(M.stateNode,M.type,M.memoizedProps,b,S,M),M.updateQueue=S,S=S!==null,S&&ki(m)}else{var ee=ne(O,M,b,S,m);Yr(ee,m,!1,!1),m.stateNode=ee,Z(ee,O,M,b,S)&&ki(m)}m.ref!==null&&(m.effectTag|=128)}else if(m.stateNode===null)throw Error(t(166));break;case 6:if(S&&m.stateNode!=null)Tn(S,m,S.memoizedProps,M);else{if(typeof M!="string"&&m.stateNode===null)throw Error(t(166));if(S=W(de.current),b=W(fe.current),Vo(m)){if(S=m,!w)throw Error(t(176));(S=Mr(S.stateNode,S.memoizedProps,S))&&ki(m)}else m.stateNode=Ft(M,S,b,m)}break;case 11:break;case 13:if(kr(xe,m),M=m.memoizedState,(m.effectTag&64)!=0){m.expirationTime=O;break e}M=M!==null,b=!1,S===null?m.memoizedProps.fallback!==void 0&&Vo(m):(O=S.memoizedState,b=O!==null,M||O===null||(O=S.child.sibling,O!==null&&(ee=m.firstEffect,ee!==null?(m.firstEffect=O,O.nextEffect=ee):(m.firstEffect=m.lastEffect=O,O.nextEffect=null),O.effectTag=8))),M&&!b&&(m.mode&2)!=0&&(S===null&&m.memoizedProps.unstable_avoidThisFallback!==!0||(xe.current&1)!=0?he===lo&&(he=T0):((he===lo||he===T0)&&(he=hi),Zt!==0&&X!==null&&(ao(X,ye),$o(X,Zt)))),cr&&M&&(m.effectTag|=4),Yt&&(M||b)&&(m.effectTag|=4);break;case 7:break;case 8:break;case 12:break;case 4:Fe(m),$r(m);break;case 10:fi(m);break;case 9:break;case 14:break;case 17:c0(m.type)&&Ru(m);break;case 19:if(kr(xe,m),M=m.memoizedState,M===null)break;if(b=(m.effectTag&64)!=0,ee=M.rendering,ee===null){if(b)bi(M,!1);else if(he!==lo||S!==null&&(S.effectTag&64)!=0)for(S=m.child;S!==null;){if(ee=je(S),ee!==null){for(m.effectTag|=64,bi(M,!1),S=ee.updateQueue,S!==null&&(m.updateQueue=S,m.effectTag|=4),M.lastEffect===null&&(m.firstEffect=null),m.lastEffect=M.lastEffect,S=O,M=m.child;M!==null;)b=M,O=S,b.effectTag&=2,b.nextEffect=null,b.firstEffect=null,b.lastEffect=null,ee=b.alternate,ee===null?(b.childExpirationTime=0,b.expirationTime=O,b.child=null,b.memoizedProps=null,b.memoizedState=null,b.updateQueue=null,b.dependencies=null):(b.childExpirationTime=ee.childExpirationTime,b.expirationTime=ee.expirationTime,b.child=ee.child,b.memoizedProps=ee.memoizedProps,b.memoizedState=ee.memoizedState,b.updateQueue=ee.updateQueue,O=ee.dependencies,b.dependencies=O===null?null:{expirationTime:O.expirationTime,firstContext:O.firstContext,responders:O.responders}),M=M.sibling;Fr(xe,xe.current&1|2,m),m=m.child;break e}S=S.sibling}}else{if(!b)if(S=je(ee),S!==null){if(m.effectTag|=64,b=!0,S=S.updateQueue,S!==null&&(m.updateQueue=S,m.effectTag|=4),bi(M,!0),M.tail===null&&M.tailMode==="hidden"&&!ee.alternate){m=m.lastEffect=M.lastEffect,m!==null&&(m.nextEffect=null);break}}else G0()>M.tailExpiration&&1M&&(M=O),ee>M&&(M=ee),b=b.sibling;S.childExpirationTime=M}if(m!==null)return m;v!==null&&(v.effectTag&2048)==0&&(v.firstEffect===null&&(v.firstEffect=Y.firstEffect),Y.lastEffect!==null&&(v.lastEffect!==null&&(v.lastEffect.nextEffect=Y.firstEffect),v.lastEffect=Y.lastEffect),1v?m:v}function gu(v){var m=Fs();return zi(99,co.bind(null,v,m)),null}function co(v,m){do Ws();while(dr!==null);if((Kt&(Br|zr))!==Fn)throw Error(t(327));var S=v.finishedWork,O=v.finishedExpirationTime;if(S===null)return null;if(v.finishedWork=null,v.finishedExpirationTime=0,S===v.current)throw Error(t(177));v.callbackNode=null,v.callbackExpirationTime=0,v.callbackPriority=90,v.nextKnownPendingLevel=0;var M=$f(S);if(v.firstPendingTime=M,O<=v.lastSuspendedTime?v.firstSuspendedTime=v.lastSuspendedTime=v.nextKnownPendingLevel=0:O<=v.firstSuspendedTime&&(v.firstSuspendedTime=O-1),O<=v.lastPingedTime&&(v.lastPingedTime=0),O<=v.lastExpiredTime&&(v.lastExpiredTime=0),v===X&&(Y=X=null,ye=0),1=S?mt(v,m,S):(Fr(xe,xe.current&1,m),m=X0(v,m,S),m!==null?m.sibling:null);Fr(xe,xe.current&1,m);break;case 19:if(O=m.childExpirationTime>=S,(v.effectTag&64)!=0){if(O)return $t(v,m,S);m.effectTag|=64}if(M=m.memoizedState,M!==null&&(M.rendering=null,M.tail=null),Fr(xe,xe.current,m),!O)return null}return X0(v,m,S)}ai=!1}}else ai=!1;switch(m.expirationTime=0,m.tag){case 2:if(O=m.type,v!==null&&(v.alternate=null,m.alternate=null,m.effectTag|=2),v=m.pendingProps,M=Lu(m,H0.current),io(m,S),M=St(null,m,O,v,M,S),m.effectTag|=1,typeof M=="object"&&M!==null&&typeof M.render=="function"&&M.$$typeof===void 0){if(m.tag=1,Qt(),c0(O)){var b=!0;wo(m)}else b=!1;m.memoizedState=M.state!==null&&M.state!==void 0?M.state:null;var ee=O.getDerivedStateFromProps;typeof ee=="function"&&Go(m,O,ee,v),M.updater=Gu,m.stateNode=M,M._reactInternalFiber=m,Vu(m,O,v,S),m=Be(null,m,O,!0,b,S)}else m.tag=0,o0(null,m,M,S),m=m.child;return m;case 16:if(M=m.elementType,v!==null&&(v.alternate=null,m.alternate=null,m.effectTag|=2),v=m.pendingProps,Te(M),M._status!==1)throw M._result;switch(M=M._result,m.type=M,b=m.tag=Wa(M),v=I0(M,v),b){case 0:m=K0(null,m,M,v,S);break;case 1:m=ae(null,m,M,v,S);break;case 11:m=Vr(null,m,M,v,S);break;case 14:m=ff(null,m,M,I0(M.type,v),O,S);break;default:throw Error(t(306,M,""))}return m;case 0:return O=m.type,M=m.pendingProps,M=m.elementType===O?M:I0(O,M),K0(v,m,O,M,S);case 1:return O=m.type,M=m.pendingProps,M=m.elementType===O?M:I0(O,M),ae(v,m,O,M,S);case 3:if(Ie(m),O=m.updateQueue,O===null)throw Error(t(282));if(M=m.memoizedState,M=M!==null?M.element:null,P0(m,O,m.pendingProps,null,S),O=m.memoizedState.element,O===M)Rr(),m=X0(v,m,S);else{if((M=m.stateNode.hydrate)&&(w?(Gr=al(m.stateNode.containerInfo),F0=m,M=ir=!0):M=!1),M)for(S=U(m,null,O,S),m.child=S;S;)S.effectTag=S.effectTag&-3|1024,S=S.sibling;else o0(v,m,O,S),Rr();m=m.child}return m;case 5:return Ge(m),v===null&&Co(m),O=m.type,M=m.pendingProps,b=v!==null?v.memoizedProps:null,ee=M.children,at(O,M)?ee=null:b!==null&&at(O,b)&&(m.effectTag|=16),$0(v,m),m.mode&4&&S!==1&&it(O,M)?(m.expirationTime=m.childExpirationTime=1,m=null):(o0(v,m,ee,S),m=m.child),m;case 6:return v===null&&Co(m),null;case 13:return mt(v,m,S);case 4:return ve(m,m.stateNode.containerInfo),O=m.pendingProps,v===null?m.child=R(m,null,O,S):o0(v,m,O,S),m.child;case 11:return O=m.type,M=m.pendingProps,M=m.elementType===O?M:I0(O,M),Vr(v,m,O,M,S);case 7:return o0(v,m,m.pendingProps,S),m.child;case 8:return o0(v,m,m.pendingProps.children,S),m.child;case 12:return o0(v,m,m.pendingProps.children,S),m.child;case 10:e:{if(O=m.type._context,M=m.pendingProps,ee=m.memoizedProps,b=M.value,Ls(m,b),ee!==null){var Ye=ee.value;if(b=Sn(Ye,b)?0:(typeof O._calculateChangedBits=="function"?O._calculateChangedBits(Ye,b):1073741823)|0,b===0){if(ee.children===M.children&&!b0.current){m=X0(v,m,S);break e}}else for(Ye=m.child,Ye!==null&&(Ye.return=m);Ye!==null;){var Ze=Ye.dependencies;if(Ze!==null){ee=Ye.child;for(var ut=Ze.firstContext;ut!==null;){if(ut.context===O&&(ut.observedBits&b)!=0){Ye.tag===1&&(ut=a0(S,null),ut.tag=2,V0(Ye,ut)),Ye.expirationTime=m&&v<=m}function ao(v,m){var S=v.firstSuspendedTime,O=v.lastSuspendedTime;Sm||S===0)&&(v.lastSuspendedTime=m),m<=v.lastPingedTime&&(v.lastPingedTime=0),m<=v.lastExpiredTime&&(v.lastExpiredTime=0)}function $o(v,m){m>v.firstPendingTime&&(v.firstPendingTime=m);var S=v.firstSuspendedTime;S!==0&&(m>=S?v.firstSuspendedTime=v.lastSuspendedTime=v.nextKnownPendingLevel=0:m>=v.lastSuspendedTime&&(v.lastSuspendedTime=m+1),m>v.nextKnownPendingLevel&&(v.nextKnownPendingLevel=m))}function kl(v,m){var S=v.lastExpiredTime;(S===0||S>m)&&(v.lastExpiredTime=m)}function Nc(v){var m=v._reactInternalFiber;if(m===void 0)throw typeof v.render=="function"?Error(t(188)):Error(t(268,Object.keys(v)));return v=Ue(m),v===null?null:v.stateNode}function Al(v,m){v=v.memoizedState,v!==null&&v.dehydrated!==null&&v.retryTime{"use strict";sE.exports=uE()});var cE=Me((db,fE)=>{"use strict";var gN={ALIGN_COUNT:8,ALIGN_AUTO:0,ALIGN_FLEX_START:1,ALIGN_CENTER:2,ALIGN_FLEX_END:3,ALIGN_STRETCH:4,ALIGN_BASELINE:5,ALIGN_SPACE_BETWEEN:6,ALIGN_SPACE_AROUND:7,DIMENSION_COUNT:2,DIMENSION_WIDTH:0,DIMENSION_HEIGHT:1,DIRECTION_COUNT:3,DIRECTION_INHERIT:0,DIRECTION_LTR:1,DIRECTION_RTL:2,DISPLAY_COUNT:2,DISPLAY_FLEX:0,DISPLAY_NONE:1,EDGE_COUNT:9,EDGE_LEFT:0,EDGE_TOP:1,EDGE_RIGHT:2,EDGE_BOTTOM:3,EDGE_START:4,EDGE_END:5,EDGE_HORIZONTAL:6,EDGE_VERTICAL:7,EDGE_ALL:8,EXPERIMENTAL_FEATURE_COUNT:1,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:0,FLEX_DIRECTION_COUNT:4,FLEX_DIRECTION_COLUMN:0,FLEX_DIRECTION_COLUMN_REVERSE:1,FLEX_DIRECTION_ROW:2,FLEX_DIRECTION_ROW_REVERSE:3,JUSTIFY_COUNT:6,JUSTIFY_FLEX_START:0,JUSTIFY_CENTER:1,JUSTIFY_FLEX_END:2,JUSTIFY_SPACE_BETWEEN:3,JUSTIFY_SPACE_AROUND:4,JUSTIFY_SPACE_EVENLY:5,LOG_LEVEL_COUNT:6,LOG_LEVEL_ERROR:0,LOG_LEVEL_WARN:1,LOG_LEVEL_INFO:2,LOG_LEVEL_DEBUG:3,LOG_LEVEL_VERBOSE:4,LOG_LEVEL_FATAL:5,MEASURE_MODE_COUNT:3,MEASURE_MODE_UNDEFINED:0,MEASURE_MODE_EXACTLY:1,MEASURE_MODE_AT_MOST:2,NODE_TYPE_COUNT:2,NODE_TYPE_DEFAULT:0,NODE_TYPE_TEXT:1,OVERFLOW_COUNT:3,OVERFLOW_VISIBLE:0,OVERFLOW_HIDDEN:1,OVERFLOW_SCROLL:2,POSITION_TYPE_COUNT:2,POSITION_TYPE_RELATIVE:0,POSITION_TYPE_ABSOLUTE:1,PRINT_OPTIONS_COUNT:3,PRINT_OPTIONS_LAYOUT:1,PRINT_OPTIONS_STYLE:2,PRINT_OPTIONS_CHILDREN:4,UNIT_COUNT:4,UNIT_UNDEFINED:0,UNIT_POINT:1,UNIT_PERCENT:2,UNIT_AUTO:3,WRAP_COUNT:3,WRAP_NO_WRAP:0,WRAP_WRAP:1,WRAP_WRAP_REVERSE:2};fE.exports=gN});var hE=Me((pb,aE)=>{"use strict";var _N=Object.assign||function(i){for(var u=1;u"}}]),i}(),dE=function(){Ph(i,null,[{key:"fromJS",value:function(f){var c=f.width,g=f.height;return new i(c,g)}}]);function i(u,f){Iy(this,i),this.width=u,this.height=f}return Ph(i,[{key:"fromJS",value:function(f){f(this.width,this.height)}},{key:"toString",value:function(){return""}}]),i}(),pE=function(){function i(u,f){Iy(this,i),this.unit=u,this.value=f}return Ph(i,[{key:"fromJS",value:function(f){f(this.unit,this.value)}},{key:"toString",value:function(){switch(this.unit){case ps.UNIT_POINT:return String(this.value);case ps.UNIT_PERCENT:return this.value+"%";case ps.UNIT_AUTO:return"auto";default:return this.value+"?"}}},{key:"valueOf",value:function(){return this.value}}]),i}();aE.exports=function(i,u){function f(C,A,x){var D=C[A];C[A]=function(){for(var L=arguments.length,N=Array(L),j=0;j1?N-1:0),$=1;$1&&arguments[1]!==void 0?arguments[1]:NaN,x=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,D=arguments.length>3&&arguments[3]!==void 0?arguments[3]:ps.DIRECTION_LTR;return C.call(this,A,x,D)}),_N({Config:u.Config,Node:u.Node,Layout:i("Layout",yN),Size:i("Size",dE),Value:i("Value",pE),getInstanceCount:function(){return u.getInstanceCount.apply(u,arguments)}},ps)}});var mE=Me((exports,module)=>{(function(i,u){typeof define=="function"&&define.amd?define([],function(){return u}):typeof module=="object"&&module.exports?module.exports=u:(i.nbind=i.nbind||{}).init=u})(exports,function(Module,cb){typeof Module=="function"&&(cb=Module,Module={}),Module.onRuntimeInitialized=function(i,u){return function(){i&&i.apply(this,arguments);try{Module.ccall("nbind_init")}catch(f){u(f);return}u(null,{bind:Module._nbind_value,reflect:Module.NBind.reflect,queryType:Module.NBind.queryType,toggleLightGC:Module.toggleLightGC,lib:Module})}}(Module.onRuntimeInitialized,cb);var Module;Module||(Module=(typeof Module!="undefined"?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;if(Module.ENVIRONMENT)if(Module.ENVIRONMENT==="WEB")ENVIRONMENT_IS_WEB=!0;else if(Module.ENVIRONMENT==="WORKER")ENVIRONMENT_IS_WORKER=!0;else if(Module.ENVIRONMENT==="NODE")ENVIRONMENT_IS_NODE=!0;else if(Module.ENVIRONMENT==="SHELL")ENVIRONMENT_IS_SHELL=!0;else throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof importScripts=="function",ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof require=="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn);var nodeFS,nodePath;Module.read=function(u,f){nodeFS||(nodeFS={}("")),nodePath||(nodePath={}("")),u=nodePath.normalize(u);var c=nodeFS.readFileSync(u);return f?c:c.toString()},Module.readBinary=function(u){var f=Module.read(u,!0);return f.buffer||(f=new Uint8Array(f)),assert(f.buffer),f},Module.load=function(u){globalEval(read(u))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),typeof module!="undefined"&&(module.exports=Module),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),typeof printErr!="undefined"&&(Module.printErr=printErr),typeof read!="undefined"?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(u){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(u));var f=read(u,"binary");return assert(typeof f=="object"),f},typeof scriptArgs!="undefined"?Module.arguments=scriptArgs:typeof arguments!="undefined"&&(Module.arguments=arguments),typeof quit=="function"&&(Module.quit=function(i,u){quit(i)});else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(Module.read=function(u){var f=new XMLHttpRequest;return f.open("GET",u,!1),f.send(null),f.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(u){var f=new XMLHttpRequest;return f.open("GET",u,!1),f.responseType="arraybuffer",f.send(null),new Uint8Array(f.response)}),Module.readAsync=function(u,f,c){var g=new XMLHttpRequest;g.open("GET",u,!0),g.responseType="arraybuffer",g.onload=function(){g.status==200||g.status==0&&g.response?f(g.response):c()},g.onerror=c,g.send(null)},typeof arguments!="undefined"&&(Module.arguments=arguments),typeof console!="undefined")Module.print||(Module.print=function(u){console.log(u)}),Module.printErr||(Module.printErr=function(u){console.warn(u)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&typeof dump!="undefined"?function(i){dump(i)}:function(i){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),typeof Module.setWindowTitle=="undefined"&&(Module.setWindowTitle=function(i){document.title=i})}else throw"Unknown runtime environment. Where are we?";function globalEval(i){eval.call(null,i)}!Module.load&&Module.read&&(Module.load=function(u){globalEval(Module.read(u))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(i,u){throw u}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(i){return tempRet0=i,i},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(i){STACKTOP=i},getNativeTypeSize:function(i){switch(i){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(i[i.length-1]==="*")return Runtime.QUANTUM_SIZE;if(i[0]==="i"){var u=parseInt(i.substr(1));return assert(u%8==0),u/8}else return 0}}},getNativeFieldSize:function(i){return Math.max(Runtime.getNativeTypeSize(i),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(i,u){return u==="double"||u==="i64"?i&7&&(assert((i&7)==4),i+=4):assert((i&3)==0),i},getAlignSize:function(i,u,f){return!f&&(i=="i64"||i=="double")?8:i?Math.min(u||(i?Runtime.getNativeFieldSize(i):0),Runtime.QUANTUM_SIZE):Math.min(u,8)},dynCall:function(i,u,f){return f&&f.length?Module["dynCall_"+i].apply(null,[u].concat(f)):Module["dynCall_"+i].call(null,u)},functionPointers:[],addFunction:function(i){for(var u=0;u>2],f=(u+i+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=f,f>=TOTAL_MEMORY){var c=enlargeMemory();if(!c)return HEAP32[DYNAMICTOP_PTR>>2]=u,0}return u},alignMemory:function(i,u){var f=i=Math.ceil(i/(u||16))*(u||16);return f},makeBigInt:function(i,u,f){var c=f?+(i>>>0)+ +(u>>>0)*4294967296:+(i>>>0)+ +(u|0)*4294967296;return c},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0;function assert(i,u){i||abort("Assertion failed: "+u)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(i){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(i){var u=Runtime.stackAlloc(i.length);return writeArrayToMemory(i,u),u},stringToC:function(i){var u=0;if(i!=null&&i!==0){var f=(i.length<<2)+1;u=Runtime.stackAlloc(f),stringToUTF8(i,u,f)}return u}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(u,f,c,g,t){var C=getCFunc(u),A=[],x=0;if(g)for(var D=0;D>0]=u;break;case"i8":HEAP8[i>>0]=u;break;case"i16":HEAP16[i>>1]=u;break;case"i32":HEAP32[i>>2]=u;break;case"i64":tempI64=[u>>>0,(tempDouble=u,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[i>>2]=tempI64[0],HEAP32[i+4>>2]=tempI64[1];break;case"float":HEAPF32[i>>2]=u;break;case"double":HEAPF64[i>>3]=u;break;default:abort("invalid type for setValue: "+f)}}Module.setValue=setValue;function getValue(i,u,f){switch(u=u||"i8",u.charAt(u.length-1)==="*"&&(u="i32"),u){case"i1":return HEAP8[i>>0];case"i8":return HEAP8[i>>0];case"i16":return HEAP16[i>>1];case"i32":return HEAP32[i>>2];case"i64":return HEAP32[i>>2];case"float":return HEAPF32[i>>2];case"double":return HEAPF64[i>>3];default:abort("invalid type for setValue: "+u)}return null}Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE;function allocate(i,u,f,c){var g,t;typeof i=="number"?(g=!0,t=i):(g=!1,t=i.length);var C=typeof u=="string"?u:null,A;if(f==ALLOC_NONE?A=c:A=[typeof _malloc=="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][f===void 0?ALLOC_STATIC:f](Math.max(t,C?1:u.length)),g){var c=A,x;for(assert((A&3)==0),x=A+(t&~3);c>2]=0;for(x=A+t;c>0]=0;return A}if(C==="i8")return i.subarray||i.slice?HEAPU8.set(i,A):HEAPU8.set(new Uint8Array(i),A),A;for(var D=0,L,N,j;D>0],f|=c,!(c==0&&!u||(g++,u&&g==u)););u||(u=g);var t="";if(f<128){for(var C=1024,A;u>0;)A=String.fromCharCode.apply(String,HEAPU8.subarray(i,i+Math.min(u,C))),t=t?t+A:A,i+=C,u-=C;return t}return Module.UTF8ToString(i)}Module.Pointer_stringify=Pointer_stringify;function AsciiToString(i){for(var u="";;){var f=HEAP8[i++>>0];if(!f)return u;u+=String.fromCharCode(f)}}Module.AsciiToString=AsciiToString;function stringToAscii(i,u){return writeAsciiToMemory(i,u,!1)}Module.stringToAscii=stringToAscii;var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(i,u){for(var f=u;i[f];)++f;if(f-u>16&&i.subarray&&UTF8Decoder)return UTF8Decoder.decode(i.subarray(u,f));for(var c,g,t,C,A,x,D="";;){if(c=i[u++],!c)return D;if(!(c&128)){D+=String.fromCharCode(c);continue}if(g=i[u++]&63,(c&224)==192){D+=String.fromCharCode((c&31)<<6|g);continue}if(t=i[u++]&63,(c&240)==224?c=(c&15)<<12|g<<6|t:(C=i[u++]&63,(c&248)==240?c=(c&7)<<18|g<<12|t<<6|C:(A=i[u++]&63,(c&252)==248?c=(c&3)<<24|g<<18|t<<12|C<<6|A:(x=i[u++]&63,c=(c&1)<<30|g<<24|t<<18|C<<12|A<<6|x))),c<65536)D+=String.fromCharCode(c);else{var L=c-65536;D+=String.fromCharCode(55296|L>>10,56320|L&1023)}}}Module.UTF8ArrayToString=UTF8ArrayToString;function UTF8ToString(i){return UTF8ArrayToString(HEAPU8,i)}Module.UTF8ToString=UTF8ToString;function stringToUTF8Array(i,u,f,c){if(!(c>0))return 0;for(var g=f,t=f+c-1,C=0;C=55296&&A<=57343&&(A=65536+((A&1023)<<10)|i.charCodeAt(++C)&1023),A<=127){if(f>=t)break;u[f++]=A}else if(A<=2047){if(f+1>=t)break;u[f++]=192|A>>6,u[f++]=128|A&63}else if(A<=65535){if(f+2>=t)break;u[f++]=224|A>>12,u[f++]=128|A>>6&63,u[f++]=128|A&63}else if(A<=2097151){if(f+3>=t)break;u[f++]=240|A>>18,u[f++]=128|A>>12&63,u[f++]=128|A>>6&63,u[f++]=128|A&63}else if(A<=67108863){if(f+4>=t)break;u[f++]=248|A>>24,u[f++]=128|A>>18&63,u[f++]=128|A>>12&63,u[f++]=128|A>>6&63,u[f++]=128|A&63}else{if(f+5>=t)break;u[f++]=252|A>>30,u[f++]=128|A>>24&63,u[f++]=128|A>>18&63,u[f++]=128|A>>12&63,u[f++]=128|A>>6&63,u[f++]=128|A&63}}return u[f]=0,f-g}Module.stringToUTF8Array=stringToUTF8Array;function stringToUTF8(i,u,f){return stringToUTF8Array(i,HEAPU8,u,f)}Module.stringToUTF8=stringToUTF8;function lengthBytesUTF8(i){for(var u=0,f=0;f=55296&&c<=57343&&(c=65536+((c&1023)<<10)|i.charCodeAt(++f)&1023),c<=127?++u:c<=2047?u+=2:c<=65535?u+=3:c<=2097151?u+=4:c<=67108863?u+=5:u+=6}return u}Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):void 0;function demangle(i){var u=Module.___cxa_demangle||Module.__cxa_demangle;if(u){try{var f=i.substr(1),c=lengthBytesUTF8(f)+1,g=_malloc(c);stringToUTF8(f,g,c);var t=_malloc(4),C=u(g,0,0,t);if(getValue(t,"i32")===0&&C)return Pointer_stringify(C)}catch(A){}finally{g&&_free(g),t&&_free(t),C&&_free(C)}return i}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),i}function demangleAll(i){var u=/__Z[\w\d_]+/g;return i.replace(u,function(f){var c=demangle(f);return f===c?f:f+" ["+c+"]"})}function jsStackTrace(){var i=new Error;if(!i.stack){try{throw new Error(0)}catch(u){i=u}if(!i.stack)return"(no stack trace available)"}return i.stack.toString()}function stackTrace(){var i=jsStackTrace();return Module.extraStackTrace&&(i+=` -`+Module.extraStackTrace()),demangleAll(i)}Module.stackTrace=stackTrace;var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||134217728;TOTAL_MEMORY0;){var u=i.shift();if(typeof u=="function"){u();continue}var f=u.func;typeof f=="number"?u.arg===void 0?Module.dynCall_v(f):Module.dynCall_vi(f,u.arg):f(u.arg===void 0?null:u.arg)}}var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(i){__ATPRERUN__.unshift(i)}Module.addOnPreRun=addOnPreRun;function addOnInit(i){__ATINIT__.unshift(i)}Module.addOnInit=addOnInit;function addOnPreMain(i){__ATMAIN__.unshift(i)}Module.addOnPreMain=addOnPreMain;function addOnExit(i){__ATEXIT__.unshift(i)}Module.addOnExit=addOnExit;function addOnPostRun(i){__ATPOSTRUN__.unshift(i)}Module.addOnPostRun=addOnPostRun;function intArrayFromString(i,u,f){var c=f>0?f:lengthBytesUTF8(i)+1,g=new Array(c),t=stringToUTF8Array(i,g,0,g.length);return u&&(g.length=t),g}Module.intArrayFromString=intArrayFromString;function intArrayToString(i){for(var u=[],f=0;f255&&(c&=255),u.push(String.fromCharCode(c))}return u.join("")}Module.intArrayToString=intArrayToString;function writeStringToMemory(i,u,f){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var c,g;f&&(g=u+lengthBytesUTF8(i),c=HEAP8[g]),stringToUTF8(i,u,Infinity),f&&(HEAP8[g]=c)}Module.writeStringToMemory=writeStringToMemory;function writeArrayToMemory(i,u){HEAP8.set(i,u)}Module.writeArrayToMemory=writeArrayToMemory;function writeAsciiToMemory(i,u,f){for(var c=0;c>0]=i.charCodeAt(c);f||(HEAP8[u>>0]=0)}if(Module.writeAsciiToMemory=writeAsciiToMemory,(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(u,f){var c=u>>>16,g=u&65535,t=f>>>16,C=f&65535;return g*C+(c*C+g*t<<16)|0}),Math.imul=Math.imul,!Math.fround){var froundBuffer=new Float32Array(1);Math.fround=function(i){return froundBuffer[0]=i,froundBuffer[0]}}Math.fround=Math.fround,Math.clz32||(Math.clz32=function(i){i=i>>>0;for(var u=0;u<32;u++)if(i&1<<31-u)return u;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(i){return i<0?Math.ceil(i):Math.floor(i)}),Math.trunc=Math.trunc;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_round=Math.round,Math_min=Math.min,Math_clz32=Math.clz32,Math_trunc=Math.trunc,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(i){return i}function addRunDependency(i){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}Module.addRunDependency=addRunDependency;function removeRunDependency(i){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),runDependencies==0&&(runDependencyWatcher!==null&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var u=dependenciesFulfilled;dependenciesFulfilled=null,u()}}Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[function(i,u,f,c,g,t,C,A){return _nbind.callbackSignatureList[i].apply(this,arguments)}];function _emscripten_asm_const_iiiiiiii(i,u,f,c,g,t,C,A){return ASM_CONSTS[i](u,f,c,g,t,C,A)}function _emscripten_asm_const_iiiii(i,u,f,c,g){return ASM_CONSTS[i](u,f,c,g)}function _emscripten_asm_const_iiidddddd(i,u,f,c,g,t,C,A,x){return ASM_CONSTS[i](u,f,c,g,t,C,A,x)}function _emscripten_asm_const_iiididi(i,u,f,c,g,t,C){return ASM_CONSTS[i](u,f,c,g,t,C)}function _emscripten_asm_const_iiii(i,u,f,c){return ASM_CONSTS[i](u,f,c)}function _emscripten_asm_const_iiiid(i,u,f,c,g){return ASM_CONSTS[i](u,f,c,g)}function _emscripten_asm_const_iiiiii(i,u,f,c,g,t){return ASM_CONSTS[i](u,f,c,g,t)}STATIC_BASE=Runtime.GLOBAL_BASE,STATICTOP=STATIC_BASE+12800,__ATINIT__.push({func:function(){__GLOBAL__sub_I_Yoga_cpp()}},{func:function(){__GLOBAL__sub_I_nbind_cc()}},{func:function(){__GLOBAL__sub_I_common_cc()}},{func:function(){__GLOBAL__sub_I_Binding_cc()}}),allocate([0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,128,191,0,0,128,191,0,0,192,127,0,0,0,0,0,0,0,0,0,0,128,63,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,190,12,0,0,200,12,0,0,208,12,0,0,216,12,0,0,230,12,0,0,242,12,0,0,1,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,0,192,127,3,0,0,0,180,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,182,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,183,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,184,45,0,0,185,45,0,0,181,45,0,0,181,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,148,4,0,0,3,0,0,0,187,45,0,0,164,4,0,0,188,45,0,0,2,0,0,0,189,45,0,0,164,4,0,0,188,45,0,0,185,45,0,0,164,4,0,0,185,45,0,0,164,4,0,0,188,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,183,45,0,0,182,45,0,0,181,45,0,0,190,45,0,0,190,45,0,0,182,45,0,0,182,45,0,0,185,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,185,45,0,0,48,5,0,0,3,0,0,0,56,5,0,0,1,0,0,0,189,45,0,0,185,45,0,0,164,4,0,0,76,5,0,0,2,0,0,0,191,45,0,0,186,45,0,0,182,45,0,0,185,45,0,0,192,45,0,0,185,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,76,5,0,0,76,5,0,0,136,5,0,0,182,45,0,0,181,45,0,0,2,0,0,0,190,45,0,0,136,5,0,0,56,19,0,0,156,5,0,0,2,0,0,0,184,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,10,0,0,0,204,5,0,0,181,45,0,0,181,45,0,0,2,0,0,0,180,45,0,0,204,5,0,0,2,0,0,0,195,45,0,0,236,5,0,0,97,19,0,0,198,45,0,0,211,45,0,0,212,45,0,0,213,45,0,0,214,45,0,0,215,45,0,0,188,45,0,0,182,45,0,0,216,45,0,0,217,45,0,0,218,45,0,0,219,45,0,0,192,45,0,0,181,45,0,0,0,0,0,0,185,45,0,0,110,19,0,0,186,45,0,0,115,19,0,0,221,45,0,0,120,19,0,0,148,4,0,0,132,19,0,0,96,6,0,0,145,19,0,0,222,45,0,0,164,19,0,0,223,45,0,0,173,19,0,0,0,0,0,0,3,0,0,0,104,6,0,0,1,0,0,0,187,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,185,45,0,0,224,45,0,0,164,6,0,0,188,45,0,0,172,6,0,0,180,6,0,0,2,0,0,0,188,6,0,0,7,0,0,0,224,45,0,0,7,0,0,0,164,6,0,0,1,0,0,0,213,45,0,0,185,45,0,0,224,45,0,0,172,6,0,0,185,45,0,0,224,45,0,0,164,6,0,0,185,45,0,0,224,45,0,0,211,45,0,0,211,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,172,6,0,0,222,45,0,0,211,45,0,0,224,45,0,0,188,45,0,0,222,45,0,0,211,45,0,0,40,7,0,0,188,45,0,0,2,0,0,0,224,45,0,0,185,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,222,45,0,0,224,45,0,0,148,4,0,0,185,45,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,185,45,0,0,164,6,0,0,148,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,16,0,0,0,148,7,0,0,2,0,0,0,225,45,0,0,183,45,0,0,188,45,0,0,168,7,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,234,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,9,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,242,45,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,110,111,100,101,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,119,104,105,99,104,32,115,116,105,108,108,32,104,97,115,32,99,104,105,108,100,114,101,110,32,97,116,116,97,99,104,101,100,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,115,116,105,108,108,32,97,116,116,97,99,104,101,100,32,116,111,32,97,32,112,97,114,101,110,116,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,99,111,110,102,105,103,0,67,97,110,110,111,116,32,115,101,116,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,67,104,105,108,100,32,97,108,114,101,97,100,121,32,104,97,115,32,97,32,112,97,114,101,110,116,44,32,105,116,32,109,117,115,116,32,98,101,32,114,101,109,111,118,101,100,32,102,105,114,115,116,46,0,67,97,110,110,111,116,32,97,100,100,32,99,104,105,108,100,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,79,110,108,121,32,108,101,97,102,32,110,111,100,101,115,32,119,105,116,104,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,115,104,111,117,108,100,32,109,97,110,117,97,108,108,121,32,109,97,114,107,32,116,104,101,109,115,101,108,118,101,115,32,97,115,32,100,105,114,116,121,0,67,97,110,110,111,116,32,103,101,116,32,108,97,121,111,117,116,32,112,114,111,112,101,114,116,105,101,115,32,111,102,32,109,117,108,116,105,45,101,100,103,101,32,115,104,111,114,116,104,97,110,100,115,0,37,115,37,100,46,123,91,115,107,105,112,112,101,100,93,32,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,61,62,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,37,115,37,100,46,123,37,115,0,42,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,37,115,10,0,37,115,37,100,46,125,37,115,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,79,117,116,32,111,102,32,99,97,99,104,101,32,101,110,116,114,105,101,115,33,10,0,83,99,97,108,101,32,102,97,99,116,111,114,32,115,104,111,117,108,100,32,110,111,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,122,101,114,111,0,105,110,105,116,105,97,108,0,37,115,10,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,85,78,68,69,70,73,78,69,68,0,69,88,65,67,84,76,89,0,65,84,95,77,79,83,84,0,76,65,89,95,85,78,68,69,70,73,78,69,68,0,76,65,89,95,69,88,65,67,84,76,89,0,76,65,89,95,65,84,95,77,79,83,84,0,97,118,97,105,108,97,98,108,101,87,105,100,116,104,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,119,105,100,116,104,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,97,118,97,105,108,97,98,108,101,72,101,105,103,104,116,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,104,101,105,103,104,116,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,102,108,101,120,0,115,116,114,101,116,99,104,0,109,117,108,116,105,108,105,110,101,45,115,116,114,101,116,99,104,0,69,120,112,101,99,116,101,100,32,110,111,100,101,32,116,111,32,104,97,118,101,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,0,109,101,97,115,117,114,101,0,69,120,112,101,99,116,32,99,117,115,116,111,109,32,98,97,115,101,108,105,110,101,32,102,117,110,99,116,105,111,110,32,116,111,32,110,111,116,32,114,101,116,117,114,110,32,78,97,78,0,97,98,115,45,109,101,97,115,117,114,101,0,97,98,115,45,108,97,121,111,117,116,0,78,111,100,101,0,99,114,101,97,116,101,68,101,102,97,117,108,116,0,99,114,101,97,116,101,87,105,116,104,67,111,110,102,105,103,0,100,101,115,116,114,111,121,0,114,101,115,101,116,0,99,111,112,121,83,116,121,108,101,0,115,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,115,101,116,80,111,115,105,116,105,111,110,0,115,101,116,80,111,115,105,116,105,111,110,80,101,114,99,101,110,116,0,115,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,115,101,116,65,108,105,103,110,73,116,101,109,115,0,115,101,116,65,108,105,103,110,83,101,108,102,0,115,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,115,101,116,70,108,101,120,87,114,97,112,0,115,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,115,101,116,77,97,114,103,105,110,0,115,101,116,77,97,114,103,105,110,80,101,114,99,101,110,116,0,115,101,116,77,97,114,103,105,110,65,117,116,111,0,115,101,116,79,118,101,114,102,108,111,119,0,115,101,116,68,105,115,112,108,97,121,0,115,101,116,70,108,101,120,0,115,101,116,70,108,101,120,66,97,115,105,115,0,115,101,116,70,108,101,120,66,97,115,105,115,80,101,114,99,101,110,116,0,115,101,116,70,108,101,120,71,114,111,119,0,115,101,116,70,108,101,120,83,104,114,105,110,107,0,115,101,116,87,105,100,116,104,0,115,101,116,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,87,105,100,116,104,65,117,116,111,0,115,101,116,72,101,105,103,104,116,0,115,101,116,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,72,101,105,103,104,116,65,117,116,111,0,115,101,116,77,105,110,87,105,100,116,104,0,115,101,116,77,105,110,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,105,110,72,101,105,103,104,116,0,115,101,116,77,105,110,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,77,97,120,87,105,100,116,104,0,115,101,116,77,97,120,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,97,120,72,101,105,103,104,116,0,115,101,116,77,97,120,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,65,115,112,101,99,116,82,97,116,105,111,0,115,101,116,66,111,114,100,101,114,0,115,101,116,80,97,100,100,105,110,103,0,115,101,116,80,97,100,100,105,110,103,80,101,114,99,101,110,116,0,103,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,103,101,116,80,111,115,105,116,105,111,110,0,103,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,103,101,116,65,108,105,103,110,73,116,101,109,115,0,103,101,116,65,108,105,103,110,83,101,108,102,0,103,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,103,101,116,70,108,101,120,87,114,97,112,0,103,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,103,101,116,77,97,114,103,105,110,0,103,101,116,70,108,101,120,66,97,115,105,115,0,103,101,116,70,108,101,120,71,114,111,119,0,103,101,116,70,108,101,120,83,104,114,105,110,107,0,103,101,116,87,105,100,116,104,0,103,101,116,72,101,105,103,104,116,0,103,101,116,77,105,110,87,105,100,116,104,0,103,101,116,77,105,110,72,101,105,103,104,116,0,103,101,116,77,97,120,87,105,100,116,104,0,103,101,116,77,97,120,72,101,105,103,104,116,0,103,101,116,65,115,112,101,99,116,82,97,116,105,111,0,103,101,116,66,111,114,100,101,114,0,103,101,116,79,118,101,114,102,108,111,119,0,103,101,116,68,105,115,112,108,97,121,0,103,101,116,80,97,100,100,105,110,103,0,105,110,115,101,114,116,67,104,105,108,100,0,114,101,109,111,118,101,67,104,105,108,100,0,103,101,116,67,104,105,108,100,67,111,117,110,116,0,103,101,116,80,97,114,101,110,116,0,103,101,116,67,104,105,108,100,0,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,117,110,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,109,97,114,107,68,105,114,116,121,0,105,115,68,105,114,116,121,0,99,97,108,99,117,108,97,116,101,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,76,101,102,116,0,103,101,116,67,111,109,112,117,116,101,100,82,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,84,111,112,0,103,101,116,67,111,109,112,117,116,101,100,66,111,116,116,111,109,0,103,101,116,67,111,109,112,117,116,101,100,87,105,100,116,104,0,103,101,116,67,111,109,112,117,116,101,100,72,101,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,77,97,114,103,105,110,0,103,101,116,67,111,109,112,117,116,101,100,66,111,114,100,101,114,0,103,101,116,67,111,109,112,117,116,101,100,80,97,100,100,105,110,103,0,67,111,110,102,105,103,0,99,114,101,97,116,101,0,115,101,116,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,115,101,116,80,111,105,110,116,83,99,97,108,101,70,97,99,116,111,114,0,105,115,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,86,97,108,117,101,0,76,97,121,111,117,116,0,83,105,122,101,0,103,101,116,73,110,115,116,97,110,99,101,67,111,117,110,116,0,73,110,116,54,52,0,1,1,1,2,2,4,4,4,4,8,8,4,8,118,111,105,100,0,98,111,111,108,0,115,116,100,58,58,115,116,114,105,110,103,0,99,98,70,117,110,99,116,105,111,110,32,38,0,99,111,110,115,116,32,99,98,70,117,110,99,116,105,111,110,32,38,0,69,120,116,101,114,110,97,108,0,66,117,102,102,101,114,0,78,66,105,110,100,73,68,0,78,66,105,110,100,0,98,105,110,100,95,118,97,108,117,101,0,114,101,102,108,101,99,116,0,113,117,101,114,121,84,121,112,101,0,108,97,108,108,111,99,0,108,114,101,115,101,116,0,123,114,101,116,117,114,110,40,95,110,98,105,110,100,46,99,97,108,108,98,97,99,107,83,105,103,110,97,116,117,114,101,76,105,115,116,91,36,48,93,46,97,112,112,108,121,40,116,104,105,115,44,97,114,103,117,109,101,110,116,115,41,41,59,125,0,95,110,98,105,110,100,95,110,101,119,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;STATICTOP+=16;function _atexit(i,u){__ATEXIT__.unshift({func:i,arg:u})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function _abort(){Module.abort()}function __ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj(){Module.printErr("missing function: _ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj"),abort(-1)}function __decorate(i,u,f,c){var g=arguments.length,t=g<3?u:c===null?c=Object.getOwnPropertyDescriptor(u,f):c,C;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")t=Reflect.decorate(i,u,f,c);else for(var A=i.length-1;A>=0;A--)(C=i[A])&&(t=(g<3?C(t):g>3?C(u,f,t):C(u,f))||t);return g>3&&t&&Object.defineProperty(u,f,t),t}function _defineHidden(i){return function(u,f){Object.defineProperty(u,f,{configurable:!1,enumerable:!1,value:i,writable:!0})}}var _nbind={};function __nbind_free_external(i){_nbind.externalList[i].dereference(i)}function __nbind_reference_external(i){_nbind.externalList[i].reference()}function _llvm_stackrestore(i){var u=_llvm_stacksave,f=u.LLVM_SAVEDSTACKS[i];u.LLVM_SAVEDSTACKS.splice(i,1),Runtime.stackRestore(f)}function __nbind_register_pool(i,u,f,c){_nbind.Pool.pageSize=i,_nbind.Pool.usedPtr=u/4,_nbind.Pool.rootPtr=f,_nbind.Pool.pagePtr=c/4,HEAP32[u/4]=16909060,HEAP8[u]==1&&(_nbind.bigEndian=!0),HEAP32[u/4]=0,_nbind.makeTypeKindTbl=(t={},t[1024]=_nbind.PrimitiveType,t[64]=_nbind.Int64Type,t[2048]=_nbind.BindClass,t[3072]=_nbind.BindClassPtr,t[4096]=_nbind.SharedClassPtr,t[5120]=_nbind.ArrayType,t[6144]=_nbind.ArrayType,t[7168]=_nbind.CStringType,t[9216]=_nbind.CallbackType,t[10240]=_nbind.BindType,t),_nbind.makeTypeNameTbl={Buffer:_nbind.BufferType,External:_nbind.ExternalType,Int64:_nbind.Int64Type,_nbind_new:_nbind.CreateValueType,bool:_nbind.BooleanType,"cbFunction &":_nbind.CallbackType,"const cbFunction &":_nbind.CallbackType,"const std::string &":_nbind.StringType,"std::string":_nbind.StringType},Module.toggleLightGC=_nbind.toggleLightGC,_nbind.callUpcast=Module.dynCall_ii;var g=_nbind.makeType(_nbind.constructType,{flags:2048,id:0,name:""});g.proto=Module,_nbind.BindClass.list.push(g);var t}function _emscripten_set_main_loop_timing(i,u){if(Browser.mainLoop.timingMode=i,Browser.mainLoop.timingValue=u,!Browser.mainLoop.func)return 1;if(i==0)Browser.mainLoop.scheduler=function(){var C=Math.max(0,Browser.mainLoop.tickStartTime+u-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,C)},Browser.mainLoop.method="timeout";else if(i==1)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(i==2){if(!window.setImmediate){let t=function(C){C.source===window&&C.data===c&&(C.stopPropagation(),f.shift()())};var g=t,f=[],c="setimmediate";window.addEventListener("message",t,!0),window.setImmediate=function(A){f.push(A),ENVIRONMENT_IS_WORKER?(Module.setImmediates===void 0&&(Module.setImmediates=[]),Module.setImmediates.push(A),window.postMessage({target:c})):window.postMessage(c,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(i,u,f,c,g){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=i,Browser.mainLoop.arg=c;var t;typeof c!="undefined"?t=function(){Module.dynCall_vi(i,c)}:t=function(){Module.dynCall_v(i)};var C=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var x=Date.now(),D=Browser.mainLoop.queue.shift();if(D.func(D.arg),Browser.mainLoop.remainingBlockers){var L=Browser.mainLoop.remainingBlockers,N=L%1==0?L-1:Math.floor(L);D.counted?Browser.mainLoop.remainingBlockers=N:(N=N+.5,Browser.mainLoop.remainingBlockers=(8*L+N)/9)}if(console.log('main loop blocker "'+D.name+'" took '+(Date.now()-x)+" ms"),Browser.mainLoop.updateStatus(),C1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else Browser.mainLoop.timingMode==0&&(Browser.mainLoop.tickStartTime=_emscripten_get_now());Browser.mainLoop.method==="timeout"&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter(t),!(C0?_emscripten_set_main_loop_timing(0,1e3/u):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),f)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var i=Browser.mainLoop.timingMode,u=Browser.mainLoop.timingValue,f=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(f,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(i,u),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var i=Module.statusMessage||"Please wait...",u=Browser.mainLoop.remainingBlockers,f=Browser.mainLoop.expectedBlockers;u?u=6;){var Le=J>>Te-6&63;Te-=6,De+=Se[Le]}return Te==2?(De+=Se[(J&3)<<4],De+=me+me):Te==4&&(De+=Se[(J&15)<<2],De+=me),De}h.src="data:audio/x-"+C.substr(-3)+";base64,"+Q(t),L(h)},h.src=$,Browser.safeSetTimeout(function(){L(h)},1e4)}else return N()},Module.preloadPlugins.push(u);function f(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var c=Module.canvas;c&&(c.requestPointerLock=c.requestPointerLock||c.mozRequestPointerLock||c.webkitRequestPointerLock||c.msRequestPointerLock||function(){},c.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},c.exitPointerLock=c.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",f,!1),document.addEventListener("mozpointerlockchange",f,!1),document.addEventListener("webkitpointerlockchange",f,!1),document.addEventListener("mspointerlockchange",f,!1),Module.elementPointerLock&&c.addEventListener("click",function(g){!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),g.preventDefault())},!1))},createContext:function(i,u,f,c){if(u&&Module.ctx&&i==Module.canvas)return Module.ctx;var g,t;if(u){var C={antialias:!1,alpha:!1};if(c)for(var A in c)C[A]=c[A];t=GL.createContext(i,C),t&&(g=GL.getContext(t).GLctx)}else g=i.getContext("2d");return g?(f&&(u||assert(typeof GLctx=="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=g,u&&GL.makeContextCurrent(t),Module.useWebGL=u,Browser.moduleContextCreatedCallbacks.forEach(function(x){x()}),Browser.init()),g):null},destroyContext:function(i,u,f){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(i,u,f){Browser.lockPointer=i,Browser.resizeCanvas=u,Browser.vrDevice=f,typeof Browser.lockPointer=="undefined"&&(Browser.lockPointer=!0),typeof Browser.resizeCanvas=="undefined"&&(Browser.resizeCanvas=!1),typeof Browser.vrDevice=="undefined"&&(Browser.vrDevice=null);var c=Module.canvas;function g(){Browser.isFullscreen=!1;var C=c.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===C?(c.exitFullscreen=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){},c.exitFullscreen=c.exitFullscreen.bind(document),Browser.lockPointer&&c.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas&&Browser.setFullscreenCanvasSize()):(C.parentNode.insertBefore(c,C),C.parentNode.removeChild(C),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullscreen),Module.onFullscreen&&Module.onFullscreen(Browser.isFullscreen),Browser.updateCanvasDimensions(c)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",g,!1),document.addEventListener("mozfullscreenchange",g,!1),document.addEventListener("webkitfullscreenchange",g,!1),document.addEventListener("MSFullscreenChange",g,!1));var t=document.createElement("div");c.parentNode.insertBefore(t,c),t.appendChild(c),t.requestFullscreen=t.requestFullscreen||t.mozRequestFullScreen||t.msRequestFullscreen||(t.webkitRequestFullscreen?function(){t.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(t.webkitRequestFullScreen?function(){t.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),f?t.requestFullscreen({vrDisplay:f}):t.requestFullscreen()},requestFullScreen:function(i,u,f){return Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Browser.requestFullScreen=function(c,g,t){return Browser.requestFullscreen(c,g,t)},Browser.requestFullscreen(i,u,f)},nextRAF:0,fakeRequestAnimationFrame:function(i){var u=Date.now();if(Browser.nextRAF===0)Browser.nextRAF=u+1e3/60;else for(;u+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var f=Math.max(Browser.nextRAF-u,0);setTimeout(i,f)},requestAnimationFrame:function(u){typeof window=="undefined"?Browser.fakeRequestAnimationFrame(u):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(u))},safeCallback:function(i){return function(){if(!ABORT)return i.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var i=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],i.forEach(function(u){u()})}},safeRequestAnimationFrame:function(i){return Browser.requestAnimationFrame(function(){ABORT||(Browser.allowAsyncCallbacks?i():Browser.queuedAsyncCallbacks.push(i))})},safeSetTimeout:function(i,u){return Module.noExitRuntime=!0,setTimeout(function(){ABORT||(Browser.allowAsyncCallbacks?i():Browser.queuedAsyncCallbacks.push(i))},u)},safeSetInterval:function(i,u){return Module.noExitRuntime=!0,setInterval(function(){ABORT||Browser.allowAsyncCallbacks&&i()},u)},getMimetype:function(i){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[i.substr(i.lastIndexOf(".")+1)]},getUserMedia:function(i){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(i)},getMovementX:function(i){return i.movementX||i.mozMovementX||i.webkitMovementX||0},getMovementY:function(i){return i.movementY||i.mozMovementY||i.webkitMovementY||0},getMouseWheelDelta:function(i){var u=0;switch(i.type){case"DOMMouseScroll":u=i.detail;break;case"mousewheel":u=i.wheelDelta;break;case"wheel":u=i.deltaY;break;default:throw"unrecognized mouse wheel event: "+i.type}return u},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(i){if(Browser.pointerLock)i.type!="mousemove"&&"mozMovementX"in i?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(i),Browser.mouseMovementY=Browser.getMovementY(i)),typeof SDL!="undefined"?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var u=Module.canvas.getBoundingClientRect(),f=Module.canvas.width,c=Module.canvas.height,g=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset,t=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;if(i.type==="touchstart"||i.type==="touchend"||i.type==="touchmove"){var C=i.touch;if(C===void 0)return;var A=C.pageX-(g+u.left),x=C.pageY-(t+u.top);A=A*(f/u.width),x=x*(c/u.height);var D={x:A,y:x};if(i.type==="touchstart")Browser.lastTouches[C.identifier]=D,Browser.touches[C.identifier]=D;else if(i.type==="touchend"||i.type==="touchmove"){var L=Browser.touches[C.identifier];L||(L=D),Browser.lastTouches[C.identifier]=L,Browser.touches[C.identifier]=D}return}var N=i.pageX-(g+u.left),j=i.pageY-(t+u.top);N=N*(f/u.width),j=j*(c/u.height),Browser.mouseMovementX=N-Browser.mouseX,Browser.mouseMovementY=j-Browser.mouseY,Browser.mouseX=N,Browser.mouseY=j}},asyncLoad:function(i,u,f,c){var g=c?"":getUniqueRunDependency("al "+i);Module.readAsync(i,function(t){assert(t,'Loading data file "'+i+'" failed (no arrayBuffer).'),u(new Uint8Array(t)),g&&removeRunDependency(g)},function(t){if(f)f();else throw'Loading data file "'+i+'" failed.'}),g&&addRunDependency(g)},resizeListeners:[],updateResizeListeners:function(){var i=Module.canvas;Browser.resizeListeners.forEach(function(u){u(i.width,i.height)})},setCanvasSize:function(i,u,f){var c=Module.canvas;Browser.updateCanvasDimensions(c,i,u),f||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var i=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];i=i|8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=i}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var i=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];i=i&~8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=i}Browser.updateResizeListeners()},updateCanvasDimensions:function(i,u,f){u&&f?(i.widthNative=u,i.heightNative=f):(u=i.widthNative,f=i.heightNative);var c=u,g=f;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(c/g>2];return u},getStr:function(){var i=Pointer_stringify(SYSCALLS.get());return i},get64:function(){var i=SYSCALLS.get(),u=SYSCALLS.get();return i>=0?assert(u===0):assert(u===-1),i},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall6(i,u){SYSCALLS.varargs=u;try{var f=SYSCALLS.getStreamFromFD();return FS.close(f),0}catch(c){return(typeof FS=="undefined"||!(c instanceof FS.ErrnoError))&&abort(c),-c.errno}}function ___syscall54(i,u){SYSCALLS.varargs=u;try{return 0}catch(f){return(typeof FS=="undefined"||!(f instanceof FS.ErrnoError))&&abort(f),-f.errno}}function _typeModule(i){var u=[[0,1,"X"],[1,1,"const X"],[128,1,"X *"],[256,1,"X &"],[384,1,"X &&"],[512,1,"std::shared_ptr"],[640,1,"std::unique_ptr"],[5120,1,"std::vector"],[6144,2,"std::array"],[9216,-1,"std::function"]];function f(x,D,L,N,j,$){if(D==1){var h=N&896;(h==128||h==256||h==384)&&(x="X const")}var re;return $?re=L.replace("X",x).replace("Y",j):re=x.replace("X",L).replace("Y",j),re.replace(/([*&]) (?=[*&])/g,"$1")}function c(x,D,L,N,j){throw new Error(x+" type "+L.replace("X",D+"?")+(N?" with flag "+N:"")+" in "+j)}function g(x,D,L,N,j,$,h,re){$===void 0&&($="X"),re===void 0&&(re=1);var ce=L(x);if(ce)return ce;var Q=N(x),oe=Q.placeholderFlag,Se=u[oe];h&&Se&&($=f(h[2],h[0],$,Se[0],"?",!0));var me;oe==0&&(me="Unbound"),oe>=10&&(me="Corrupt"),re>20&&(me="Deeply nested"),me&&c(me,x,$,oe,j||"?");var De=Q.paramList[0],J=g(De,D,L,N,j,$,Se,re+1),Te,Oe={flags:Se[0],id:x,name:"",paramList:[J]},Le=[],ot="?";switch(Q.placeholderFlag){case 1:Te=J.spec;break;case 2:if((J.flags&15360)==1024&&J.spec.ptrSize==1){Oe.flags=7168;break}case 3:case 6:case 5:Te=J.spec,(J.flags&15360)!=2048;break;case 8:ot=""+Q.paramList[1],Oe.paramList.push(Q.paramList[1]);break;case 9:for(var ct=0,Ue=Q.paramList[1];ct>2]=i),i}function _llvm_stacksave(){var i=_llvm_stacksave;return i.LLVM_SAVEDSTACKS||(i.LLVM_SAVEDSTACKS=[]),i.LLVM_SAVEDSTACKS.push(Runtime.stackSave()),i.LLVM_SAVEDSTACKS.length-1}function ___syscall140(i,u){SYSCALLS.varargs=u;try{var f=SYSCALLS.getStreamFromFD(),c=SYSCALLS.get(),g=SYSCALLS.get(),t=SYSCALLS.get(),C=SYSCALLS.get(),A=g;return FS.llseek(f,A,C),HEAP32[t>>2]=f.position,f.getdents&&A===0&&C===0&&(f.getdents=null),0}catch(x){return(typeof FS=="undefined"||!(x instanceof FS.ErrnoError))&&abort(x),-x.errno}}function ___syscall146(i,u){SYSCALLS.varargs=u;try{var f=SYSCALLS.get(),c=SYSCALLS.get(),g=SYSCALLS.get(),t=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(L,N){var j=___syscall146.buffers[L];assert(j),N===0||N===10?((L===1?Module.print:Module.printErr)(UTF8ArrayToString(j,0)),j.length=0):j.push(N)});for(var C=0;C>2],x=HEAP32[c+(C*8+4)>>2],D=0;Di.pageSize/2||u>i.pageSize-f){var c=_nbind.typeNameTbl.NBind.proto;return c.lalloc(u)}else return HEAPU32[i.usedPtr]=f+u,i.rootPtr+f},i.lreset=function(u,f){var c=HEAPU32[i.pagePtr];if(c){var g=_nbind.typeNameTbl.NBind.proto;g.lreset(u,f)}else HEAPU32[i.usedPtr]=u},i}();_nbind.Pool=Pool;function constructType(i,u){var f=i==10240?_nbind.makeTypeNameTbl[u.name]||_nbind.BindType:_nbind.makeTypeKindTbl[i],c=new f(u);return typeIdTbl[u.id]=c,_nbind.typeNameTbl[u.name]=c,c}_nbind.constructType=constructType;function getType(i){return typeIdTbl[i]}_nbind.getType=getType;function queryType(i){var u=HEAPU8[i],f=_nbind.structureList[u][1];i/=4,f<0&&(++i,f=HEAPU32[i]+1);var c=Array.prototype.slice.call(HEAPU32.subarray(i+1,i+1+f));return u==9&&(c=[c[0],c.slice(1)]),{paramList:c,placeholderFlag:u}}_nbind.queryType=queryType;function getTypes(i,u){return i.map(function(f){return typeof f=="number"?_nbind.getComplexType(f,constructType,getType,queryType,u):_nbind.typeNameTbl[f]})}_nbind.getTypes=getTypes;function readTypeIdList(i,u){return Array.prototype.slice.call(HEAPU32,i/4,i/4+u)}_nbind.readTypeIdList=readTypeIdList;function readAsciiString(i){for(var u=i;HEAPU8[u++];);return String.fromCharCode.apply("",HEAPU8.subarray(i,u-1))}_nbind.readAsciiString=readAsciiString;function readPolicyList(i){var u={};if(i)for(;;){var f=HEAPU32[i/4];if(!f)break;u[readAsciiString(f)]=!0,i+=4}return u}_nbind.readPolicyList=readPolicyList;function getDynCall(i,u){var f={float32_t:"d",float64_t:"d",int64_t:"d",uint64_t:"d",void:"v"},c=i.map(function(t){return f[t.name]||"i"}).join(""),g=Module["dynCall_"+c];if(!g)throw new Error("dynCall_"+c+" not found for "+u+"("+i.map(function(t){return t.name}).join(", ")+")");return g}_nbind.getDynCall=getDynCall;function addMethod(i,u,f,c){var g=i[u];i.hasOwnProperty(u)&&g?((g.arity||g.arity===0)&&(g=_nbind.makeOverloader(g,g.arity),i[u]=g),g.addMethod(f,c)):(f.arity=c,i[u]=f)}_nbind.addMethod=addMethod;function throwError(i){throw new Error(i)}_nbind.throwError=throwError,_nbind.bigEndian=!1,_a=_typeModule(_typeModule),_nbind.Type=_a.Type,_nbind.makeType=_a.makeType,_nbind.getComplexType=_a.getComplexType,_nbind.structureList=_a.structureList;var BindType=function(i){__extends(u,i);function u(){var f=i!==null&&i.apply(this,arguments)||this;return f.heap=HEAPU32,f.ptrSize=4,f}return u.prototype.needsWireRead=function(f){return!!this.wireRead||!!this.makeWireRead},u.prototype.needsWireWrite=function(f){return!!this.wireWrite||!!this.makeWireWrite},u}(_nbind.Type);_nbind.BindType=BindType;var PrimitiveType=function(i){__extends(u,i);function u(f){var c=i.call(this,f)||this,g=f.flags&32?{32:HEAPF32,64:HEAPF64}:f.flags&8?{8:HEAPU8,16:HEAPU16,32:HEAPU32}:{8:HEAP8,16:HEAP16,32:HEAP32};return c.heap=g[f.ptrSize*8],c.ptrSize=f.ptrSize,c}return u.prototype.needsWireWrite=function(f){return!!f&&!!f.Strict},u.prototype.makeWireWrite=function(f,c){return c&&c.Strict&&function(g){if(typeof g=="number")return g;throw new Error("Type mismatch")}},u}(BindType);_nbind.PrimitiveType=PrimitiveType;function pushCString(i,u){if(i==null){if(u&&u.Nullable)return 0;throw new Error("Type mismatch")}if(u&&u.Strict){if(typeof i!="string")throw new Error("Type mismatch")}else i=i.toString();var f=Module.lengthBytesUTF8(i)+1,c=_nbind.Pool.lalloc(f);return Module.stringToUTF8Array(i,HEAPU8,c,f),c}_nbind.pushCString=pushCString;function popCString(i){return i===0?null:Module.Pointer_stringify(i)}_nbind.popCString=popCString;var CStringType=function(i){__extends(u,i);function u(){var f=i!==null&&i.apply(this,arguments)||this;return f.wireRead=popCString,f.wireWrite=pushCString,f.readResources=[_nbind.resources.pool],f.writeResources=[_nbind.resources.pool],f}return u.prototype.makeWireWrite=function(f,c){return function(g){return pushCString(g,c)}},u}(BindType);_nbind.CStringType=CStringType;var BooleanType=function(i){__extends(u,i);function u(){var f=i!==null&&i.apply(this,arguments)||this;return f.wireRead=function(c){return!!c},f}return u.prototype.needsWireWrite=function(f){return!!f&&!!f.Strict},u.prototype.makeWireRead=function(f){return"!!("+f+")"},u.prototype.makeWireWrite=function(f,c){return c&&c.Strict&&function(g){if(typeof g=="boolean")return g;throw new Error("Type mismatch")}||f},u}(BindType);_nbind.BooleanType=BooleanType;var Wrapper=function(){function i(){}return i.prototype.persist=function(){this.__nbindState|=1},i}();_nbind.Wrapper=Wrapper;function makeBound(i,u){var f=function(c){__extends(g,c);function g(t,C,A,x){var D=c.call(this)||this;if(!(D instanceof g))return new(Function.prototype.bind.apply(g,Array.prototype.concat.apply([null],arguments)));var L=C,N=A,j=x;if(t!==_nbind.ptrMarker){var $=D.__nbindConstructor.apply(D,arguments);L=4096|512,j=HEAPU32[$/4],N=HEAPU32[$/4+1]}var h={configurable:!0,enumerable:!1,value:null,writable:!1},re={__nbindFlags:L,__nbindPtr:N};j&&(re.__nbindShared=j,_nbind.mark(D));for(var ce=0,Q=Object.keys(re);ce>=1;var f=_nbind.valueList[i];return _nbind.valueList[i]=firstFreeValue,firstFreeValue=i,f}else{if(u)return _nbind.popShared(i,u);throw new Error("Invalid value slot "+i)}}_nbind.popValue=popValue;var valueBase=18446744073709552e3;function push64(i){return typeof i=="number"?i:pushValue(i)*4096+valueBase}function pop64(i){return i=3?C=Buffer.from(t):C=new Buffer(t),C.copy(c)}else getBuffer(c).set(t)}}_nbind.commitBuffer=commitBuffer;var dirtyList=[],gcTimer=0;function sweep(){for(var i=0,u=dirtyList;i>2]=DYNAMIC_BASE,staticSealed=!0;function invoke_viiiii(i,u,f,c,g,t){try{Module.dynCall_viiiii(i,u,f,c,g,t)}catch(C){if(typeof C!="number"&&C!=="longjmp")throw C;Module.setThrew(1,0)}}function invoke_vif(i,u,f){try{Module.dynCall_vif(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_vid(i,u,f){try{Module.dynCall_vid(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_fiff(i,u,f,c){try{return Module.dynCall_fiff(i,u,f,c)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_vi(i,u){try{Module.dynCall_vi(i,u)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_vii(i,u,f){try{Module.dynCall_vii(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_ii(i,u){try{return Module.dynCall_ii(i,u)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_viddi(i,u,f,c,g){try{Module.dynCall_viddi(i,u,f,c,g)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}function invoke_vidd(i,u,f,c){try{Module.dynCall_vidd(i,u,f,c)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_iiii(i,u,f,c){try{return Module.dynCall_iiii(i,u,f,c)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_diii(i,u,f,c){try{return Module.dynCall_diii(i,u,f,c)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_di(i,u){try{return Module.dynCall_di(i,u)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_iid(i,u,f){try{return Module.dynCall_iid(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_iii(i,u,f){try{return Module.dynCall_iii(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_viiddi(i,u,f,c,g,t){try{Module.dynCall_viiddi(i,u,f,c,g,t)}catch(C){if(typeof C!="number"&&C!=="longjmp")throw C;Module.setThrew(1,0)}}function invoke_viiiiii(i,u,f,c,g,t,C){try{Module.dynCall_viiiiii(i,u,f,c,g,t,C)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_dii(i,u,f){try{return Module.dynCall_dii(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_i(i){try{return Module.dynCall_i(i)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_iiiiii(i,u,f,c,g,t){try{return Module.dynCall_iiiiii(i,u,f,c,g,t)}catch(C){if(typeof C!="number"&&C!=="longjmp")throw C;Module.setThrew(1,0)}}function invoke_viiid(i,u,f,c,g){try{Module.dynCall_viiid(i,u,f,c,g)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}function invoke_viififi(i,u,f,c,g,t,C){try{Module.dynCall_viififi(i,u,f,c,g,t,C)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_viii(i,u,f,c){try{Module.dynCall_viii(i,u,f,c)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_v(i){try{Module.dynCall_v(i)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_viid(i,u,f,c){try{Module.dynCall_viid(i,u,f,c)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_idd(i,u,f){try{return Module.dynCall_idd(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_viiii(i,u,f,c,g){try{Module.dynCall_viiii(i,u,f,c,g)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}Module.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:Infinity},Module.asmLibraryArg={abort,assert,enlargeMemory,getTotalMemory,abortOnCannotGrowMemory,invoke_viiiii,invoke_vif,invoke_vid,invoke_fiff,invoke_vi,invoke_vii,invoke_ii,invoke_viddi,invoke_vidd,invoke_iiii,invoke_diii,invoke_di,invoke_iid,invoke_iii,invoke_viiddi,invoke_viiiiii,invoke_dii,invoke_i,invoke_iiiiii,invoke_viiid,invoke_viififi,invoke_viii,invoke_v,invoke_viid,invoke_idd,invoke_viiii,_emscripten_asm_const_iiiii,_emscripten_asm_const_iiidddddd,_emscripten_asm_const_iiiid,__nbind_reference_external,_emscripten_asm_const_iiiiiiii,_removeAccessorPrefix,_typeModule,__nbind_register_pool,__decorate,_llvm_stackrestore,___cxa_atexit,__extends,__nbind_get_value_object,__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,_emscripten_set_main_loop_timing,__nbind_register_primitive,__nbind_register_type,_emscripten_memcpy_big,__nbind_register_function,___setErrNo,__nbind_register_class,__nbind_finish,_abort,_nbind_value,_llvm_stacksave,___syscall54,_defineHidden,_emscripten_set_main_loop,_emscripten_get_now,__nbind_register_callback_signature,_emscripten_asm_const_iiiiii,__nbind_free_external,_emscripten_asm_const_iiii,_emscripten_asm_const_iiididi,___syscall6,_atexit,___syscall140,___syscall146,DYNAMICTOP_PTR,tempDoublePtr,ABORT,STACKTOP,STACK_MAX,cttz_i8,___dso_handle};var asm=function(i,u,f){var c=new i.Int8Array(f),g=new i.Int16Array(f),t=new i.Int32Array(f),C=new i.Uint8Array(f),A=new i.Uint16Array(f),x=new i.Uint32Array(f),D=new i.Float32Array(f),L=new i.Float64Array(f),N=u.DYNAMICTOP_PTR|0,j=u.tempDoublePtr|0,$=u.ABORT|0,h=u.STACKTOP|0,re=u.STACK_MAX|0,ce=u.cttz_i8|0,Q=u.___dso_handle|0,oe=0,Se=0,me=0,De=0,J=i.NaN,Te=i.Infinity,Oe=0,Le=0,ot=0,ct=0,Ue=0,be=0,At=i.Math.floor,Ot=i.Math.abs,Nt=i.Math.sqrt,Je=i.Math.pow,V=i.Math.cos,ne=i.Math.sin,ge=i.Math.tan,Z=i.Math.acos,Ae=i.Math.asin,at=i.Math.atan,it=i.Math.atan2,Ft=i.Math.exp,jt=i.Math.log,hn=i.Math.ceil,Un=i.Math.imul,Jt=i.Math.min,Yt=i.Math.max,cr=i.Math.clz32,w=i.Math.fround,pt=u.abort,Mn=u.assert,Bn=u.enlargeMemory,Xn=u.getTotalMemory,vr=u.abortOnCannotGrowMemory,gr=u.invoke_viiiii,r0=u.invoke_vif,Ci=u.invoke_vid,yo=u.invoke_fiff,Ds=u.invoke_vi,Mu=u.invoke_vii,Gf=u.invoke_ii,iu=u.invoke_viddi,ou=u.invoke_vidd,ol=u.invoke_iiii,ul=u.invoke_diii,Es=u.invoke_di,Uo=u.invoke_iid,sl=u.invoke_iii,Ss=u.invoke_viiddi,Cs=u.invoke_viiiiii,Ti=u.invoke_dii,Fu=u.invoke_i,ll=u.invoke_iiiiii,fl=u.invoke_viiid,cl=u.invoke_viififi,al=u.invoke_viii,Ui=u.invoke_v,Mr=u.invoke_viid,Ac=u.invoke_idd,of=u.invoke_viiii,Ts=u._emscripten_asm_const_iiiii,xs=u._emscripten_asm_const_iiidddddd,dl=u._emscripten_asm_const_iiiid,qi=u.__nbind_reference_external,qo=u._emscripten_asm_const_iiiiiiii,kr=u._removeAccessorPrefix,Fr=u._typeModule,si=u.__nbind_register_pool,H0=u.__decorate,b0=u._llvm_stackrestore,Bt=u.___cxa_atexit,Lu=u.__extends,c0=u.__nbind_get_value_object,Ru=u.__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,ks=u._emscripten_set_main_loop_timing,As=u.__nbind_register_primitive,uu=u.__nbind_register_type,wo=u._emscripten_memcpy_big,zo=u.__nbind_register_function,Os=u.___setErrNo,Is=u.__nbind_register_class,uf=u.__nbind_finish,_n=u._abort,Nu=u._nbind_value,Wo=u._llvm_stacksave,su=u.___syscall54,Ps=u._defineHidden,pl=u._emscripten_set_main_loop,Vf=u._emscripten_get_now,hl=u.__nbind_register_callback_signature,Bu=u._emscripten_asm_const_iiiiii,ju=u.__nbind_free_external,sf=u._emscripten_asm_const_iiii,ro=u._emscripten_asm_const_iiididi,Ms=u.___syscall6,ml=u._atexit,Uu=u.___syscall140,G0=u.___syscall146,Fs=w(0);let tt=w(0);function zi(e){e=e|0;var n=0;return n=h,h=h+e|0,h=h+15&-16,n|0}function lu(){return h|0}function Ho(e){e=e|0,h=e}function O0(e,n){e=e|0,n=n|0,h=e,re=n}function vl(e,n){e=e|0,n=n|0,oe||(oe=e,Se=n)}function gl(e){e=e|0,be=e}function fu(){return be|0}function _l(){var e=0,n=0;vn(8104,8,400)|0,vn(8504,408,540)|0,e=9044,n=e+44|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));c[9088]=0,c[9089]=1,t[2273]=0,t[2274]=948,t[2275]=948,Bt(17,8104,Q|0)|0}function Sn(e){e=e|0,lf(e+948|0)}function gt(e){return e=w(e),((Ar(e)|0)&2147483647)>>>0>2139095040|0}function en(e,n,r){e=e|0,n=n|0,r=r|0;e:do if(t[e+(n<<3)+4>>2]|0)e=e+(n<<3)|0;else{if((n|2|0)==3?t[e+60>>2]|0:0){e=e+56|0;break}switch(n|0){case 0:case 2:case 4:case 5:{if(t[e+52>>2]|0){e=e+48|0;break e}break}default:}if(t[e+68>>2]|0){e=e+64|0;break}else{e=(n|1|0)==5?948:r;break}}while(0);return e|0}function I0(e){e=e|0;var n=0;return n=uh(1e3)|0,li(e,(n|0)!=0,2456),t[2276]=(t[2276]|0)+1,vn(n|0,8104,1e3)|0,c[e+2>>0]|0&&(t[n+4>>2]=2,t[n+12>>2]=4),t[n+976>>2]=e,n|0}function li(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;s=h,h=h+16|0,o=s,n||(t[o>>2]=r,zs(e,5,3197,o)),h=s}function qu(){return I0(956)|0}function Wi(e){e=e|0;var n=0;return n=Tt(1e3)|0,zu(n,e),li(t[e+976>>2]|0,1,2456),t[2276]=(t[2276]|0)+1,t[n+944>>2]=0,n|0}function zu(e,n){e=e|0,n=n|0;var r=0;vn(e|0,n|0,948)|0,af(e+948|0,n+948|0),r=e+960|0,e=n+960|0,n=r+40|0;do t[r>>2]=t[e>>2],r=r+4|0,e=e+4|0;while((r|0)<(n|0))}function Wu(e){e=e|0;var n=0,r=0,o=0,s=0;if(n=e+944|0,r=t[n>>2]|0,r|0&&(Ls(r+948|0,e)|0,t[n>>2]=0),r=fi(e)|0,r|0){n=0;do t[(e0(e,n)|0)+944>>2]=0,n=n+1|0;while((n|0)!=(r|0))}r=e+948|0,o=t[r>>2]|0,s=e+952|0,n=t[s>>2]|0,(n|0)!=(o|0)&&(t[s>>2]=n+(~((n+-4-o|0)>>>2)<<2)),io(r),sh(e),t[2276]=(t[2276]|0)+-1}function Ls(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0;o=t[e>>2]|0,_=e+4|0,r=t[_>>2]|0,l=r;e:do if((o|0)==(r|0))s=o,d=4;else for(e=o;;){if((t[e>>2]|0)==(n|0)){s=e,d=4;break e}if(e=e+4|0,(e|0)==(r|0)){e=0;break}}while(0);return(d|0)==4&&((s|0)!=(r|0)?(o=s+4|0,e=l-o|0,n=e>>2,n&&(Y1(s|0,o|0,e|0)|0,r=t[_>>2]|0),e=s+(n<<2)|0,(r|0)==(e|0)||(t[_>>2]=r+(~((r+-4-e|0)>>>2)<<2)),e=1):e=0),e|0}function fi(e){return e=e|0,(t[e+952>>2]|0)-(t[e+948>>2]|0)>>2|0}function e0(e,n){e=e|0,n=n|0;var r=0;return r=t[e+948>>2]|0,(t[e+952>>2]|0)-r>>2>>>0>n>>>0?e=t[r+(n<<2)>>2]|0:e=0,e|0}function io(e){e=e|0;var n=0,r=0,o=0,s=0;o=h,h=h+32|0,n=o,s=t[e>>2]|0,r=(t[e+4>>2]|0)-s|0,((t[e+8>>2]|0)-s|0)>>>0>r>>>0&&(s=r>>2,z(n,s,s,e+8|0),dr(e,n),Or(n)),h=o}function D0(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0;k=fi(e)|0;do if(k|0){if((t[(e0(e,0)|0)+944>>2]|0)==(e|0)){if(!(Ls(e+948|0,n)|0))break;vn(n+400|0,8504,540)|0,t[n+944>>2]=0,ln(e);break}d=t[(t[e+976>>2]|0)+12>>2]|0,_=e+948|0,y=(d|0)==0,r=0,l=0;do o=t[(t[_>>2]|0)+(l<<2)>>2]|0,(o|0)==(n|0)?ln(e):(s=Wi(o)|0,t[(t[_>>2]|0)+(r<<2)>>2]=s,t[s+944>>2]=e,y||Q4[d&15](o,s,e,r),r=r+1|0),l=l+1|0;while((l|0)!=(k|0));if(r>>>0>>0){y=e+948|0,_=e+952|0,d=r,r=t[_>>2]|0;do l=(t[y>>2]|0)+(d<<2)|0,o=l+4|0,s=r-o|0,n=s>>2,n&&(Y1(l|0,o|0,s|0)|0,r=t[_>>2]|0),s=r,o=l+(n<<2)|0,(s|0)!=(o|0)&&(r=s+(~((s+-4-o|0)>>>2)<<2)|0,t[_>>2]=r),d=d+1|0;while((d|0)!=(k|0))}}while(0)}function Do(e){e=e|0;var n=0,r=0,o=0,s=0;i0(e,(fi(e)|0)==0,2491),i0(e,(t[e+944>>2]|0)==0,2545),n=e+948|0,r=t[n>>2]|0,o=e+952|0,s=t[o>>2]|0,(s|0)!=(r|0)&&(t[o>>2]=s+(~((s+-4-r|0)>>>2)<<2)),io(n),n=e+976|0,r=t[n>>2]|0,vn(e|0,8104,1e3)|0,c[r+2>>0]|0&&(t[e+4>>2]=2,t[e+12>>2]=4),t[n>>2]=r}function i0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;s=h,h=h+16|0,o=s,n||(t[o>>2]=r,wn(e,5,3197,o)),h=s}function Rs(){return t[2276]|0}function a0(){var e=0;return e=uh(20)|0,Hu((e|0)!=0,2592),t[2277]=(t[2277]|0)+1,t[e>>2]=t[239],t[e+4>>2]=t[240],t[e+8>>2]=t[241],t[e+12>>2]=t[242],t[e+16>>2]=t[243],e|0}function Hu(e,n){e=e|0,n=n|0;var r=0,o=0;o=h,h=h+16|0,r=o,e||(t[r>>2]=n,wn(0,5,3197,r)),h=o}function V0(e){e=e|0,sh(e),t[2277]=(t[2277]|0)+-1}function bu(e,n){e=e|0,n=n|0;var r=0;n?(i0(e,(fi(e)|0)==0,2629),r=1):(r=0,n=0),t[e+964>>2]=n,t[e+988>>2]=r}function Ns(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,l=o+8|0,s=o+4|0,d=o,t[s>>2]=n,i0(e,(t[n+944>>2]|0)==0,2709),i0(e,(t[e+964>>2]|0)==0,2763),bo(e),n=e+948|0,t[d>>2]=(t[n>>2]|0)+(r<<2),t[l>>2]=t[d>>2],P0(n,l,s)|0,t[(t[s>>2]|0)+944>>2]=e,ln(e),h=o}function bo(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0;if(r=fi(e)|0,r|0?(t[(e0(e,0)|0)+944>>2]|0)!=(e|0):0){o=t[(t[e+976>>2]|0)+12>>2]|0,s=e+948|0,l=(o|0)==0,n=0;do d=t[(t[s>>2]|0)+(n<<2)>>2]|0,_=Wi(d)|0,t[(t[s>>2]|0)+(n<<2)>>2]=_,t[_+944>>2]=e,l||Q4[o&15](d,_,e,n),n=n+1|0;while((n|0)!=(r|0))}}function P0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0,Pe=0,ke=0;Pe=h,h=h+64|0,P=Pe+52|0,_=Pe+48|0,q=Pe+28|0,we=Pe+24|0,le=Pe+20|0,ie=Pe,o=t[e>>2]|0,l=o,n=o+((t[n>>2]|0)-l>>2<<2)|0,o=e+4|0,s=t[o>>2]|0,d=e+8|0;do if(s>>>0<(t[d>>2]|0)>>>0){if((n|0)==(s|0)){t[n>>2]=t[r>>2],t[o>>2]=(t[o>>2]|0)+4;break}Qn(e,n,s,n+4|0),n>>>0<=r>>>0&&(r=(t[o>>2]|0)>>>0>r>>>0?r+4|0:r),t[n>>2]=t[r>>2]}else{o=(s-l>>2)+1|0,s=Q0(e)|0,s>>>0>>0&&$n(e),T=t[e>>2]|0,k=(t[d>>2]|0)-T|0,l=k>>1,z(ie,k>>2>>>0>>1>>>0?l>>>0>>0?o:l:s,n-T>>2,e+8|0),T=ie+8|0,o=t[T>>2]|0,l=ie+12|0,k=t[l>>2]|0,d=k,y=o;do if((o|0)==(k|0)){if(k=ie+4|0,o=t[k>>2]|0,ke=t[ie>>2]|0,s=ke,o>>>0<=ke>>>0){o=d-s>>1,o=(o|0)==0?1:o,z(q,o,o>>>2,t[ie+16>>2]|0),t[we>>2]=t[k>>2],t[le>>2]=t[T>>2],t[_>>2]=t[we>>2],t[P>>2]=t[le>>2],s0(q,_,P),o=t[ie>>2]|0,t[ie>>2]=t[q>>2],t[q>>2]=o,o=q+4|0,ke=t[k>>2]|0,t[k>>2]=t[o>>2],t[o>>2]=ke,o=q+8|0,ke=t[T>>2]|0,t[T>>2]=t[o>>2],t[o>>2]=ke,o=q+12|0,ke=t[l>>2]|0,t[l>>2]=t[o>>2],t[o>>2]=ke,Or(q),o=t[T>>2]|0;break}l=o,d=((l-s>>2)+1|0)/-2|0,_=o+(d<<2)|0,s=y-l|0,l=s>>2,l&&(Y1(_|0,o|0,s|0)|0,o=t[k>>2]|0),ke=_+(l<<2)|0,t[T>>2]=ke,t[k>>2]=o+(d<<2),o=ke}while(0);t[o>>2]=t[r>>2],t[T>>2]=(t[T>>2]|0)+4,n=nn(e,ie,n)|0,Or(ie)}while(0);return h=Pe,n|0}function ln(e){e=e|0;var n=0;do{if(n=e+984|0,c[n>>0]|0)break;c[n>>0]=1,D[e+504>>2]=w(J),e=t[e+944>>2]|0}while((e|0)!=0)}function lf(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-o|0)>>>2)<<2)),Ve(r))}function nr(e){return e=e|0,t[e+944>>2]|0}function rr(e){e=e|0,i0(e,(t[e+964>>2]|0)!=0,2832),ln(e)}function Go(e){return e=e|0,(c[e+984>>0]|0)!=0|0}function Gu(e,n){e=e|0,n=n|0,fL(e,n,400)|0&&(vn(e|0,n|0,400)|0,ln(e))}function yl(e){e=e|0;var n=tt;return n=w(D[e+44>>2]),e=gt(n)|0,w(e?w(0):n)}function cu(e){e=e|0;var n=tt;return n=w(D[e+48>>2]),gt(n)|0&&(n=c[(t[e+976>>2]|0)+2>>0]|0?w(1):w(0)),w(n)}function Bs(e,n){e=e|0,n=n|0,t[e+980>>2]=n}function Vu(e){return e=e|0,t[e+980>>2]|0}function M0(e,n){e=e|0,n=n|0;var r=0;r=e+4|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function au(e){return e=e|0,t[e+4>>2]|0}function Lr(e,n){e=e|0,n=n|0;var r=0;r=e+8|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function F(e){return e=e|0,t[e+8>>2]|0}function R(e,n){e=e|0,n=n|0;var r=0;r=e+12|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function U(e){return e=e|0,t[e+12>>2]|0}function H(e,n){e=e|0,n=n|0;var r=0;r=e+16|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function fe(e){return e=e|0,t[e+16>>2]|0}function ue(e,n){e=e|0,n=n|0;var r=0;r=e+20|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function de(e){return e=e|0,t[e+20>>2]|0}function W(e,n){e=e|0,n=n|0;var r=0;r=e+24|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function ve(e){return e=e|0,t[e+24>>2]|0}function Fe(e,n){e=e|0,n=n|0;var r=0;r=e+28|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function Ge(e){return e=e|0,t[e+28>>2]|0}function K(e,n){e=e|0,n=n|0;var r=0;r=e+32|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function xe(e){return e=e|0,t[e+32>>2]|0}function je(e,n){e=e|0,n=n|0;var r=0;r=e+36|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function Xe(e){return e=e|0,t[e+36>>2]|0}function rt(e,n){e=e|0,n=w(n);var r=0;r=e+40|0,w(D[r>>2])!=n&&(D[r>>2]=n,ln(e))}function st(e,n){e=e|0,n=w(n);var r=0;r=e+44|0,w(D[r>>2])!=n&&(D[r>>2]=n,ln(e))}function xt(e,n){e=e|0,n=w(n);var r=0;r=e+48|0,w(D[r>>2])!=n&&(D[r>>2]=n,ln(e))}function wt(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+52|0,s=e+56|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function lt(e,n){e=e|0,n=w(n);var r=0,o=0;o=e+52|0,r=e+56|0,(w(D[o>>2])==n?(t[r>>2]|0)==2:0)||(D[o>>2]=n,o=gt(n)|0,t[r>>2]=o?3:2,ln(e))}function Rt(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+52|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function yn(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=(l^1)&1,s=e+132+(n<<3)|0,n=e+132+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function sn(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=l?0:2,s=e+132+(n<<3)|0,n=e+132+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function ar(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=n+132+(r<<3)|0,n=t[o+4>>2]|0,r=e,t[r>>2]=t[o>>2],t[r+4>>2]=n}function rn(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=(l^1)&1,s=e+60+(n<<3)|0,n=e+60+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function Hn(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=l?0:2,s=e+60+(n<<3)|0,n=e+60+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function d0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=n+60+(r<<3)|0,n=t[o+4>>2]|0,r=e,t[r>>2]=t[o>>2],t[r+4>>2]=n}function Cr(e,n){e=e|0,n=n|0;var r=0;r=e+60+(n<<3)+4|0,(t[r>>2]|0)!=3&&(D[e+60+(n<<3)>>2]=w(J),t[r>>2]=3,ln(e))}function He(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=(l^1)&1,s=e+204+(n<<3)|0,n=e+204+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function Qe(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=l?0:2,s=e+204+(n<<3)|0,n=e+204+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function Ne(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=n+204+(r<<3)|0,n=t[o+4>>2]|0,r=e,t[r>>2]=t[o>>2],t[r+4>>2]=n}function ft(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=(l^1)&1,s=e+276+(n<<3)|0,n=e+276+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function St(e,n){return e=e|0,n=n|0,w(D[e+276+(n<<3)>>2])}function Qt(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+348|0,s=e+352|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function Cn(e,n){e=e|0,n=w(n);var r=0,o=0;o=e+348|0,r=e+352|0,(w(D[o>>2])==n?(t[r>>2]|0)==2:0)||(D[o>>2]=n,o=gt(n)|0,t[r>>2]=o?3:2,ln(e))}function bn(e){e=e|0;var n=0;n=e+352|0,(t[n>>2]|0)!=3&&(D[e+348>>2]=w(J),t[n>>2]=3,ln(e))}function p0(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+348|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function h0(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+356|0,s=e+360|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function ci(e,n){e=e|0,n=w(n);var r=0,o=0;o=e+356|0,r=e+360|0,(w(D[o>>2])==n?(t[r>>2]|0)==2:0)||(D[o>>2]=n,o=gt(n)|0,t[r>>2]=o?3:2,ln(e))}function xi(e){e=e|0;var n=0;n=e+360|0,(t[n>>2]|0)!=3&&(D[e+356>>2]=w(J),t[n>>2]=3,ln(e))}function E0(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+356|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function qr(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+364|0,s=e+368|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function Eo(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=l?0:2,o=e+364|0,s=e+368|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function So(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+364|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function wl(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+372|0,s=e+376|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function js(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=l?0:2,o=e+372|0,s=e+376|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function Dl(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+372|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function du(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+380|0,s=e+384|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function Yu(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=l?0:2,o=e+380|0,s=e+384|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function Us(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+380|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function oo(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+388|0,s=e+392|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function Hi(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=l?0:2,o=e+388|0,s=e+392|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function qs(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+388|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function F0(e,n){e=e|0,n=w(n);var r=0;r=e+396|0,w(D[r>>2])!=n&&(D[r>>2]=n,ln(e))}function Gr(e){return e=e|0,w(D[e+396>>2])}function ir(e){return e=e|0,w(D[e+400>>2])}function L0(e){return e=e|0,w(D[e+404>>2])}function Y0(e){return e=e|0,w(D[e+408>>2])}function Co(e){return e=e|0,w(D[e+412>>2])}function $u(e){return e=e|0,w(D[e+416>>2])}function Vo(e){return e=e|0,w(D[e+420>>2])}function Rr(e,n){switch(e=e|0,n=n|0,i0(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return w(D[e+424+(n<<2)>>2])}function Jn(e,n){switch(e=e|0,n=n|0,i0(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return w(D[e+448+(n<<2)>>2])}function ai(e,n){switch(e=e|0,n=n|0,i0(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return w(D[e+472+(n<<2)>>2])}function o0(e,n){e=e|0,n=n|0;var r=0,o=tt;return r=t[e+4>>2]|0,(r|0)==(t[n+4>>2]|0)?r?(o=w(D[e>>2]),e=w(Ot(w(o-w(D[n>>2]))))>2]=0,t[o+4>>2]=0,t[o+8>>2]=0,Ru(o|0,e|0,n|0,0),wn(e,3,(c[o+11>>0]|0)<0?t[o>>2]|0:o,r),ML(o),h=r}function $0(e,n,r,o){e=w(e),n=w(n),r=r|0,o=o|0;var s=tt;e=w(e*n),s=w(V4(e,w(1)));do if(Vr(s,w(0))|0)e=w(e-s);else{if(e=w(e-s),Vr(s,w(1))|0){e=w(e+w(1));break}if(r){e=w(e+w(1));break}o||(s>w(.5)?s=w(1):(o=Vr(s,w(.5))|0,s=w(o?1:0)),e=w(e+s))}while(0);return w(e/n)}function K0(e,n,r,o,s,l,d,_,y,k,T,P,q){e=e|0,n=w(n),r=r|0,o=w(o),s=s|0,l=w(l),d=d|0,_=w(_),y=w(y),k=w(k),T=w(T),P=w(P),q=q|0;var we=0,le=tt,ie=tt,Pe=tt,ke=tt,qe=tt,pe=tt;return y>2]),le!=w(0)):0)?(Pe=w($0(n,le,0,0)),ke=w($0(o,le,0,0)),ie=w($0(l,le,0,0)),le=w($0(_,le,0,0))):(ie=l,Pe=n,le=_,ke=o),(s|0)==(e|0)?we=Vr(ie,Pe)|0:we=0,(d|0)==(r|0)?q=Vr(le,ke)|0:q=0,((we?0:(qe=w(n-T),!(ae(e,qe,y)|0)))?!(Be(e,qe,s,y)|0):0)?we=Ie(e,qe,s,l,y)|0:we=1,((q?0:(pe=w(o-P),!(ae(r,pe,k)|0)))?!(Be(r,pe,d,k)|0):0)?q=Ie(r,pe,d,_,k)|0:q=1,q=we&q),q|0}function ae(e,n,r){return e=e|0,n=w(n),r=w(r),(e|0)==1?e=Vr(n,r)|0:e=0,e|0}function Be(e,n,r,o){return e=e|0,n=w(n),r=r|0,o=w(o),(e|0)==2&(r|0)==0?n>=o?e=1:e=Vr(n,o)|0:e=0,e|0}function Ie(e,n,r,o,s){return e=e|0,n=w(n),r=r|0,o=w(o),s=w(s),(e|0)==2&(r|0)==2&o>n?s<=n?e=1:e=Vr(n,s)|0:e=0,e|0}function ht(e,n,r,o,s,l,d,_,y,k,T){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=l|0,d=w(d),_=w(_),y=y|0,k=k|0,T=T|0;var P=0,q=0,we=0,le=0,ie=tt,Pe=tt,ke=0,qe=0,pe=0,_e=0,vt=0,Ln=0,Ht=0,It=0,gn=0,Pn=0,zt=0,Dr=tt,Ki=tt,Xi=tt,Ji=0,Ro=0;zt=h,h=h+160|0,It=zt+152|0,Ht=zt+120|0,Ln=zt+104|0,pe=zt+72|0,le=zt+56|0,vt=zt+8|0,qe=zt,_e=(t[2279]|0)+1|0,t[2279]=_e,gn=e+984|0,((c[gn>>0]|0)!=0?(t[e+512>>2]|0)!=(t[2278]|0):0)?ke=4:(t[e+516>>2]|0)==(o|0)?Pn=0:ke=4,(ke|0)==4&&(t[e+520>>2]=0,t[e+924>>2]=-1,t[e+928>>2]=-1,D[e+932>>2]=w(-1),D[e+936>>2]=w(-1),Pn=1);e:do if(t[e+964>>2]|0)if(ie=w(mt(e,2,d)),Pe=w(mt(e,0,d)),P=e+916|0,Xi=w(D[P>>2]),Ki=w(D[e+920>>2]),Dr=w(D[e+932>>2]),K0(s,n,l,r,t[e+924>>2]|0,Xi,t[e+928>>2]|0,Ki,Dr,w(D[e+936>>2]),ie,Pe,T)|0)ke=22;else if(we=t[e+520>>2]|0,!we)ke=21;else for(q=0;;){if(P=e+524+(q*24|0)|0,Dr=w(D[P>>2]),Ki=w(D[e+524+(q*24|0)+4>>2]),Xi=w(D[e+524+(q*24|0)+16>>2]),K0(s,n,l,r,t[e+524+(q*24|0)+8>>2]|0,Dr,t[e+524+(q*24|0)+12>>2]|0,Ki,Xi,w(D[e+524+(q*24|0)+20>>2]),ie,Pe,T)|0){ke=22;break e}if(q=q+1|0,q>>>0>=we>>>0){ke=21;break}}else{if(y){if(P=e+916|0,!(Vr(w(D[P>>2]),n)|0)){ke=21;break}if(!(Vr(w(D[e+920>>2]),r)|0)){ke=21;break}if((t[e+924>>2]|0)!=(s|0)){ke=21;break}P=(t[e+928>>2]|0)==(l|0)?P:0,ke=22;break}if(we=t[e+520>>2]|0,!we)ke=21;else for(q=0;;){if(P=e+524+(q*24|0)|0,((Vr(w(D[P>>2]),n)|0?Vr(w(D[e+524+(q*24|0)+4>>2]),r)|0:0)?(t[e+524+(q*24|0)+8>>2]|0)==(s|0):0)?(t[e+524+(q*24|0)+12>>2]|0)==(l|0):0){ke=22;break e}if(q=q+1|0,q>>>0>=we>>>0){ke=21;break}}}while(0);do if((ke|0)==21)c[11697]|0?(P=0,ke=28):(P=0,ke=31);else if((ke|0)==22){if(q=(c[11697]|0)!=0,!((P|0)!=0&(Pn^1)))if(q){ke=28;break}else{ke=31;break}le=P+16|0,t[e+908>>2]=t[le>>2],we=P+20|0,t[e+912>>2]=t[we>>2],(c[11698]|0)==0|q^1||(t[qe>>2]=Gn(_e)|0,t[qe+4>>2]=_e,wn(e,4,2972,qe),q=t[e+972>>2]|0,q|0&&Nl[q&127](e),s=$t(s,y)|0,l=$t(l,y)|0,Ro=+w(D[le>>2]),Ji=+w(D[we>>2]),t[vt>>2]=s,t[vt+4>>2]=l,L[vt+8>>3]=+n,L[vt+16>>3]=+r,L[vt+24>>3]=Ro,L[vt+32>>3]=Ji,t[vt+40>>2]=k,wn(e,4,2989,vt))}while(0);return(ke|0)==28&&(q=Gn(_e)|0,t[le>>2]=q,t[le+4>>2]=_e,t[le+8>>2]=Pn?3047:11699,wn(e,4,3038,le),q=t[e+972>>2]|0,q|0&&Nl[q&127](e),vt=$t(s,y)|0,ke=$t(l,y)|0,t[pe>>2]=vt,t[pe+4>>2]=ke,L[pe+8>>3]=+n,L[pe+16>>3]=+r,t[pe+24>>2]=k,wn(e,4,3049,pe),ke=31),(ke|0)==31&&(X0(e,n,r,o,s,l,d,_,y,T),c[11697]|0&&(q=t[2279]|0,vt=Gn(q)|0,t[Ln>>2]=vt,t[Ln+4>>2]=q,t[Ln+8>>2]=Pn?3047:11699,wn(e,4,3083,Ln),q=t[e+972>>2]|0,q|0&&Nl[q&127](e),vt=$t(s,y)|0,Ln=$t(l,y)|0,Ji=+w(D[e+908>>2]),Ro=+w(D[e+912>>2]),t[Ht>>2]=vt,t[Ht+4>>2]=Ln,L[Ht+8>>3]=Ji,L[Ht+16>>3]=Ro,t[Ht+24>>2]=k,wn(e,4,3092,Ht)),t[e+516>>2]=o,P||(q=e+520|0,P=t[q>>2]|0,(P|0)==16&&(c[11697]|0&&wn(e,4,3124,It),t[q>>2]=0,P=0),y?P=e+916|0:(t[q>>2]=P+1,P=e+524+(P*24|0)|0),D[P>>2]=n,D[P+4>>2]=r,t[P+8>>2]=s,t[P+12>>2]=l,t[P+16>>2]=t[e+908>>2],t[P+20>>2]=t[e+912>>2],P=0)),y&&(t[e+416>>2]=t[e+908>>2],t[e+420>>2]=t[e+912>>2],c[e+985>>0]=1,c[gn>>0]=0),t[2279]=(t[2279]|0)+-1,t[e+512>>2]=t[2278],h=zt,Pn|(P|0)==0|0}function mt(e,n,r){e=e|0,n=n|0,r=w(r);var o=tt;return o=w(Tr(e,n,r)),w(o+w(R0(e,n,r)))}function wn(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=h,h=h+16|0,s=l,t[s>>2]=o,e?o=t[e+976>>2]|0:o=0,Ku(o,e,n,r,s),h=l}function Gn(e){return e=e|0,(e>>>0>60?3201:3201+(60-e)|0)|0}function $t(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;return s=h,h=h+32|0,r=s+12|0,o=s,t[r>>2]=t[254],t[r+4>>2]=t[255],t[r+8>>2]=t[256],t[o>>2]=t[257],t[o+4>>2]=t[258],t[o+8>>2]=t[259],(e|0)>2?e=11699:e=t[(n?o:r)+(e<<2)>>2]|0,h=s,e|0}function X0(e,n,r,o,s,l,d,_,y,k){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=l|0,d=w(d),_=w(_),y=y|0,k=k|0;var T=0,P=0,q=0,we=0,le=tt,ie=tt,Pe=tt,ke=tt,qe=tt,pe=tt,_e=tt,vt=0,Ln=0,Ht=0,It=tt,gn=tt,Pn=0,zt=tt,Dr=0,Ki=0,Xi=0,Ji=0,Ro=0,kf=0,Af=0,Cu=0,Of=0,Js=0,Qs=0,If=0,Pf=0,Mf=0,Kn=0,Tu=0,Ff=0,us=0,Lf=tt,Rf=tt,Zs=tt,el=tt,ss=tt,Fi=0,nu=0,go=0,xu=0,jl=0,Ul=tt,tl=tt,ql=tt,zl=tt,Li=tt,Di=tt,ku=0,xr=tt,Wl=tt,Qi=tt,ls=tt,Zi=tt,fs=tt,Hl=0,bl=0,cs=tt,Ri=tt,Au=0,Gl=0,Vl=0,Yl=0,En=tt,br=0,Ei=0,eo=0,Ni=0,xn=0,Vt=0,Ou=0,kt=tt,$l=0,Qr=0;Ou=h,h=h+16|0,Fi=Ou+12|0,nu=Ou+8|0,go=Ou+4|0,xu=Ou,i0(e,(s|0)==0|(gt(n)|0)^1,3326),i0(e,(l|0)==0|(gt(r)|0)^1,3406),Ei=so(e,o)|0,t[e+496>>2]=Ei,xn=N0(2,Ei)|0,Vt=N0(0,Ei)|0,D[e+440>>2]=w(Tr(e,xn,d)),D[e+444>>2]=w(R0(e,xn,d)),D[e+428>>2]=w(Tr(e,Vt,d)),D[e+436>>2]=w(R0(e,Vt,d)),D[e+464>>2]=w(C0(e,xn)),D[e+468>>2]=w(di(e,xn)),D[e+452>>2]=w(C0(e,Vt)),D[e+460>>2]=w(di(e,Vt)),D[e+488>>2]=w(u0(e,xn,d)),D[e+492>>2]=w(v0(e,xn,d)),D[e+476>>2]=w(u0(e,Vt,d)),D[e+484>>2]=w(v0(e,Vt,d));do if(t[e+964>>2]|0)To(e,n,r,s,l,d,_);else{if(eo=e+948|0,Ni=(t[e+952>>2]|0)-(t[eo>>2]|0)>>2,!Ni){pu(e,n,r,s,l,d,_);break}if(y?0:Sl(e,n,r,s,l,d,_)|0)break;bo(e),Tu=e+508|0,c[Tu>>0]=0,xn=N0(t[e+4>>2]|0,Ei)|0,Vt=Cl(xn,Ei)|0,br=Nr(xn)|0,Ff=t[e+8>>2]|0,Gl=e+28|0,us=(t[Gl>>2]|0)!=0,Zi=br?d:_,cs=br?_:d,Lf=w(B0(e,xn,d)),Rf=w(hu(e,xn,d)),le=w(B0(e,Vt,d)),fs=w(Fn(e,xn,d)),Ri=w(Fn(e,Vt,d)),Ht=br?s:l,Au=br?l:s,En=br?fs:Ri,qe=br?Ri:fs,ls=w(mt(e,2,d)),ke=w(mt(e,0,d)),ie=w(w(Tn(e+364|0,d))-En),Pe=w(w(Tn(e+380|0,d))-En),pe=w(w(Tn(e+372|0,_))-qe),_e=w(w(Tn(e+388|0,_))-qe),Zs=br?ie:pe,el=br?Pe:_e,ls=w(n-ls),n=w(ls-En),gt(n)|0?En=n:En=w(Ur(w(cc(n,Pe)),ie)),Wl=w(r-ke),n=w(Wl-qe),gt(n)|0?Qi=n:Qi=w(Ur(w(cc(n,_e)),pe)),ie=br?En:Qi,xr=br?Qi:En;e:do if((Ht|0)==1)for(o=0,P=0;;){if(T=e0(e,P)|0,!o)(w(Br(T))>w(0)?w(zr(T))>w(0):0)?o=T:o=0;else if(pi(T)|0){we=0;break e}if(P=P+1|0,P>>>0>=Ni>>>0){we=o;break}}else we=0;while(0);vt=we+500|0,Ln=we+504|0,o=0,T=0,n=w(0),q=0;do{if(P=t[(t[eo>>2]|0)+(q<<2)>>2]|0,(t[P+36>>2]|0)==1)lo(P),c[P+985>>0]=1,c[P+984>>0]=0;else{$r(P),y&&Yo(P,so(P,Ei)|0,ie,xr,En);do if((t[P+24>>2]|0)!=1)if((P|0)==(we|0)){t[vt>>2]=t[2278],D[Ln>>2]=w(0);break}else{wr(e,P,En,s,Qi,En,Qi,l,Ei,k);break}else T|0&&(t[T+960>>2]=P),t[P+960>>2]=0,T=P,o=(o|0)==0?P:o;while(0);Di=w(D[P+504>>2]),n=w(n+w(Di+w(mt(P,xn,En))))}q=q+1|0}while((q|0)!=(Ni|0));for(Xi=n>ie,ku=us&((Ht|0)==2&Xi)?1:Ht,Dr=(Au|0)==1,Ro=Dr&(y^1),kf=(ku|0)==1,Af=(ku|0)==2,Cu=976+(xn<<2)|0,Of=(Au|2|0)==2,Mf=Dr&(us^1),Js=1040+(Vt<<2)|0,Qs=1040+(xn<<2)|0,If=976+(Vt<<2)|0,Pf=(Au|0)!=1,Xi=us&((Ht|0)!=0&Xi),Ki=e+976|0,Dr=Dr^1,n=ie,Pn=0,Ji=0,Di=w(0),ss=w(0);;){e:do if(Pn>>>0>>0)for(Ln=t[eo>>2]|0,q=0,_e=w(0),pe=w(0),Pe=w(0),ie=w(0),P=0,T=0,we=Pn;;){if(vt=t[Ln+(we<<2)>>2]|0,(t[vt+36>>2]|0)!=1?(t[vt+940>>2]=Ji,(t[vt+24>>2]|0)!=1):0){if(ke=w(mt(vt,xn,En)),Kn=t[Cu>>2]|0,r=w(Tn(vt+380+(Kn<<3)|0,Zi)),qe=w(D[vt+504>>2]),r=w(cc(r,qe)),r=w(Ur(w(Tn(vt+364+(Kn<<3)|0,Zi)),r)),us&(q|0)!=0&w(ke+w(pe+r))>n){l=q,ke=_e,Ht=we;break e}ke=w(ke+r),r=w(pe+ke),ke=w(_e+ke),pi(vt)|0&&(Pe=w(Pe+w(Br(vt))),ie=w(ie-w(qe*w(zr(vt))))),T|0&&(t[T+960>>2]=vt),t[vt+960>>2]=0,q=q+1|0,T=vt,P=(P|0)==0?vt:P}else ke=_e,r=pe;if(we=we+1|0,we>>>0>>0)_e=ke,pe=r;else{l=q,Ht=we;break}}else l=0,ke=w(0),Pe=w(0),ie=w(0),P=0,Ht=Pn;while(0);Kn=Pe>w(0)&Pew(0)&ieel&((gt(el)|0)^1))n=el,Kn=51;else if(c[(t[Ki>>2]|0)+3>>0]|0)Kn=51;else{if(It!=w(0)?w(Br(e))!=w(0):0){Kn=53;break}n=ke,Kn=53}while(0);if((Kn|0)==51&&(Kn=0,gt(n)|0?Kn=53:(gn=w(n-ke),zt=n)),(Kn|0)==53&&(Kn=0,ke>2]|0,we=gnw(0),pe=w(gn/It),Pe=w(0),ke=w(0),n=w(0),T=P;do r=w(Tn(T+380+(q<<3)|0,Zi)),ie=w(Tn(T+364+(q<<3)|0,Zi)),ie=w(cc(r,w(Ur(ie,w(D[T+504>>2]))))),we?(r=w(ie*w(zr(T))),(r!=w(-0)?(kt=w(ie-w(qe*r)),Ul=w(kn(T,xn,kt,zt,En)),kt!=Ul):0)&&(Pe=w(Pe-w(Ul-ie)),n=w(n+r))):((vt?(tl=w(Br(T)),tl!=w(0)):0)?(kt=w(ie+w(pe*tl)),ql=w(kn(T,xn,kt,zt,En)),kt!=ql):0)&&(Pe=w(Pe-w(ql-ie)),ke=w(ke-tl)),T=t[T+960>>2]|0;while((T|0)!=0);if(n=w(_e+n),ie=w(gn+Pe),jl)n=w(0);else{qe=w(It+ke),we=t[Cu>>2]|0,vt=iew(0),qe=w(ie/qe),n=w(0);do{kt=w(Tn(P+380+(we<<3)|0,Zi)),Pe=w(Tn(P+364+(we<<3)|0,Zi)),Pe=w(cc(kt,w(Ur(Pe,w(D[P+504>>2]))))),vt?(kt=w(Pe*w(zr(P))),ie=w(-kt),kt!=w(-0)?(kt=w(pe*ie),ie=w(kn(P,xn,w(Pe+(Ln?ie:kt)),zt,En))):ie=Pe):(q?(zl=w(Br(P)),zl!=w(0)):0)?ie=w(kn(P,xn,w(Pe+w(qe*zl)),zt,En)):ie=Pe,n=w(n-w(ie-Pe)),ke=w(mt(P,xn,En)),r=w(mt(P,Vt,En)),ie=w(ie+ke),D[nu>>2]=ie,t[xu>>2]=1,Pe=w(D[P+396>>2]);e:do if(gt(Pe)|0){T=gt(xr)|0;do if(!T){if(Xi|(m0(P,Vt,xr)|0|Dr)||(T0(e,P)|0)!=4||(t[(hi(P,Vt)|0)+4>>2]|0)==3||(t[(Ai(P,Vt)|0)+4>>2]|0)==3)break;D[Fi>>2]=xr,t[go>>2]=1;break e}while(0);if(m0(P,Vt,xr)|0){T=t[P+992+(t[If>>2]<<2)>>2]|0,kt=w(r+w(Tn(T,xr))),D[Fi>>2]=kt,T=Pf&(t[T+4>>2]|0)==2,t[go>>2]=((gt(kt)|0|T)^1)&1;break}else{D[Fi>>2]=xr,t[go>>2]=T?0:2;break}}else kt=w(ie-ke),It=w(kt/Pe),kt=w(Pe*kt),t[go>>2]=1,D[Fi>>2]=w(r+(br?It:kt));while(0);Kt(P,xn,zt,En,xu,nu),Kt(P,Vt,xr,En,go,Fi);do if(m0(P,Vt,xr)|0?0:(T0(e,P)|0)==4){if((t[(hi(P,Vt)|0)+4>>2]|0)==3){T=0;break}T=(t[(Ai(P,Vt)|0)+4>>2]|0)!=3}else T=0;while(0);kt=w(D[nu>>2]),It=w(D[Fi>>2]),$l=t[xu>>2]|0,Qr=t[go>>2]|0,ht(P,br?kt:It,br?It:kt,Ei,br?$l:Qr,br?Qr:$l,En,Qi,y&(T^1),3488,k)|0,c[Tu>>0]=c[Tu>>0]|c[P+508>>0],P=t[P+960>>2]|0}while((P|0)!=0)}}else n=w(0);if(n=w(gn+n),Qr=n>0]=Qr|C[Tu>>0],Af&n>w(0)?(T=t[Cu>>2]|0,((t[e+364+(T<<3)+4>>2]|0)!=0?(Li=w(Tn(e+364+(T<<3)|0,Zi)),Li>=w(0)):0)?ie=w(Ur(w(0),w(Li-w(zt-n)))):ie=w(0)):ie=n,vt=Pn>>>0>>0,vt){we=t[eo>>2]|0,q=Pn,T=0;do P=t[we+(q<<2)>>2]|0,t[P+24>>2]|0||(T=((t[(hi(P,xn)|0)+4>>2]|0)==3&1)+T|0,T=T+((t[(Ai(P,xn)|0)+4>>2]|0)==3&1)|0),q=q+1|0;while((q|0)!=(Ht|0));T?(ke=w(0),r=w(0)):Kn=101}else Kn=101;e:do if((Kn|0)==101)switch(Kn=0,Ff|0){case 1:{T=0,ke=w(ie*w(.5)),r=w(0);break e}case 2:{T=0,ke=ie,r=w(0);break e}case 3:{if(l>>>0<=1){T=0,ke=w(0),r=w(0);break e}r=w((l+-1|0)>>>0),T=0,ke=w(0),r=w(w(Ur(ie,w(0)))/r);break e}case 5:{r=w(ie/w((l+1|0)>>>0)),T=0,ke=r;break e}case 4:{r=w(ie/w(l>>>0)),T=0,ke=w(r*w(.5));break e}default:{T=0,ke=w(0),r=w(0);break e}}while(0);if(n=w(Lf+ke),vt){Pe=w(ie/w(T|0)),q=t[eo>>2]|0,P=Pn,ie=w(0);do{T=t[q+(P<<2)>>2]|0;e:do if((t[T+36>>2]|0)!=1){switch(t[T+24>>2]|0){case 1:{if(X(T,xn)|0){if(!y)break e;kt=w(Y(T,xn,zt)),kt=w(kt+w(C0(e,xn))),kt=w(kt+w(Tr(T,xn,En))),D[T+400+(t[Qs>>2]<<2)>>2]=kt;break e}break}case 0:if(Qr=(t[(hi(T,xn)|0)+4>>2]|0)==3,kt=w(Pe+n),n=Qr?kt:n,y&&(Qr=T+400+(t[Qs>>2]<<2)|0,D[Qr>>2]=w(n+w(D[Qr>>2]))),Qr=(t[(Ai(T,xn)|0)+4>>2]|0)==3,kt=w(Pe+n),n=Qr?kt:n,Ro){kt=w(r+w(mt(T,xn,En))),ie=xr,n=w(n+w(kt+w(D[T+504>>2])));break e}else{n=w(n+w(r+w(ye(T,xn,En)))),ie=w(Ur(ie,w(ye(T,Vt,En))));break e}default:}y&&(kt=w(ke+w(C0(e,xn))),Qr=T+400+(t[Qs>>2]<<2)|0,D[Qr>>2]=w(kt+w(D[Qr>>2])))}while(0);P=P+1|0}while((P|0)!=(Ht|0))}else ie=w(0);if(r=w(Rf+n),Of?ke=w(w(kn(e,Vt,w(Ri+ie),cs,d))-Ri):ke=xr,Pe=w(w(kn(e,Vt,w(Ri+(Mf?xr:ie)),cs,d))-Ri),vt&y){P=Pn;do{q=t[(t[eo>>2]|0)+(P<<2)>>2]|0;do if((t[q+36>>2]|0)!=1){if((t[q+24>>2]|0)==1){if(X(q,Vt)|0){if(kt=w(Y(q,Vt,xr)),kt=w(kt+w(C0(e,Vt))),kt=w(kt+w(Tr(q,Vt,En))),T=t[Js>>2]|0,D[q+400+(T<<2)>>2]=kt,!(gt(kt)|0))break}else T=t[Js>>2]|0;kt=w(C0(e,Vt)),D[q+400+(T<<2)>>2]=w(kt+w(Tr(q,Vt,En)));break}T=T0(e,q)|0;do if((T|0)==4){if((t[(hi(q,Vt)|0)+4>>2]|0)==3){Kn=139;break}if((t[(Ai(q,Vt)|0)+4>>2]|0)==3){Kn=139;break}if(m0(q,Vt,xr)|0){n=le;break}$l=t[q+908+(t[Cu>>2]<<2)>>2]|0,t[Fi>>2]=$l,n=w(D[q+396>>2]),Qr=gt(n)|0,ie=(t[j>>2]=$l,w(D[j>>2])),Qr?n=Pe:(gn=w(mt(q,Vt,En)),kt=w(ie/n),n=w(n*ie),n=w(gn+(br?kt:n))),D[nu>>2]=n,D[Fi>>2]=w(w(mt(q,xn,En))+ie),t[go>>2]=1,t[xu>>2]=1,Kt(q,xn,zt,En,go,Fi),Kt(q,Vt,xr,En,xu,nu),n=w(D[Fi>>2]),gn=w(D[nu>>2]),kt=br?n:gn,n=br?gn:n,Qr=((gt(kt)|0)^1)&1,ht(q,kt,n,Ei,Qr,((gt(n)|0)^1)&1,En,Qi,1,3493,k)|0,n=le}else Kn=139;while(0);e:do if((Kn|0)==139){Kn=0,n=w(ke-w(ye(q,Vt,En)));do if((t[(hi(q,Vt)|0)+4>>2]|0)==3){if((t[(Ai(q,Vt)|0)+4>>2]|0)!=3)break;n=w(le+w(Ur(w(0),w(n*w(.5)))));break e}while(0);if((t[(Ai(q,Vt)|0)+4>>2]|0)==3){n=le;break}if((t[(hi(q,Vt)|0)+4>>2]|0)==3){n=w(le+w(Ur(w(0),n)));break}switch(T|0){case 1:{n=le;break e}case 2:{n=w(le+w(n*w(.5)));break e}default:{n=w(le+n);break e}}}while(0);kt=w(Di+n),Qr=q+400+(t[Js>>2]<<2)|0,D[Qr>>2]=w(kt+w(D[Qr>>2]))}while(0);P=P+1|0}while((P|0)!=(Ht|0))}if(Di=w(Di+Pe),ss=w(Ur(ss,r)),l=Ji+1|0,Ht>>>0>=Ni>>>0)break;n=zt,Pn=Ht,Ji=l}do if(y){if(T=l>>>0>1,T?0:!(he(e)|0))break;if(!(gt(xr)|0)){n=w(xr-Di);e:do switch(t[e+12>>2]|0){case 3:{le=w(le+n),pe=w(0);break}case 2:{le=w(le+w(n*w(.5))),pe=w(0);break}case 4:{xr>Di?pe=w(n/w(l>>>0)):pe=w(0);break}case 7:if(xr>Di){le=w(le+w(n/w(l<<1>>>0))),pe=w(n/w(l>>>0)),pe=T?pe:w(0);break e}else{le=w(le+w(n*w(.5))),pe=w(0);break e}case 6:{pe=w(n/w(Ji>>>0)),pe=xr>Di&T?pe:w(0);break}default:pe=w(0)}while(0);if(l|0)for(vt=1040+(Vt<<2)|0,Ln=976+(Vt<<2)|0,we=0,P=0;;){e:do if(P>>>0>>0)for(ie=w(0),Pe=w(0),n=w(0),q=P;;){T=t[(t[eo>>2]|0)+(q<<2)>>2]|0;do if((t[T+36>>2]|0)!=1?(t[T+24>>2]|0)==0:0){if((t[T+940>>2]|0)!=(we|0))break e;if(We(T,Vt)|0&&(kt=w(D[T+908+(t[Ln>>2]<<2)>>2]),n=w(Ur(n,w(kt+w(mt(T,Vt,En)))))),(T0(e,T)|0)!=5)break;Li=w(et(T)),Li=w(Li+w(Tr(T,0,En))),kt=w(D[T+912>>2]),kt=w(w(kt+w(mt(T,0,En)))-Li),Li=w(Ur(Pe,Li)),kt=w(Ur(ie,kt)),ie=kt,Pe=Li,n=w(Ur(n,w(Li+kt)))}while(0);if(T=q+1|0,T>>>0>>0)q=T;else{q=T;break}}else Pe=w(0),n=w(0),q=P;while(0);if(qe=w(pe+n),r=le,le=w(le+qe),P>>>0>>0){ke=w(r+Pe),T=P;do{P=t[(t[eo>>2]|0)+(T<<2)>>2]|0;e:do if((t[P+36>>2]|0)!=1?(t[P+24>>2]|0)==0:0)switch(T0(e,P)|0){case 1:{kt=w(r+w(Tr(P,Vt,En))),D[P+400+(t[vt>>2]<<2)>>2]=kt;break e}case 3:{kt=w(w(le-w(R0(P,Vt,En)))-w(D[P+908+(t[Ln>>2]<<2)>>2])),D[P+400+(t[vt>>2]<<2)>>2]=kt;break e}case 2:{kt=w(r+w(w(qe-w(D[P+908+(t[Ln>>2]<<2)>>2]))*w(.5))),D[P+400+(t[vt>>2]<<2)>>2]=kt;break e}case 4:{if(kt=w(r+w(Tr(P,Vt,En))),D[P+400+(t[vt>>2]<<2)>>2]=kt,m0(P,Vt,xr)|0||(br?(ie=w(D[P+908>>2]),n=w(ie+w(mt(P,xn,En))),Pe=qe):(Pe=w(D[P+912>>2]),Pe=w(Pe+w(mt(P,Vt,En))),n=qe,ie=w(D[P+908>>2])),Vr(n,ie)|0?Vr(Pe,w(D[P+912>>2]))|0:0))break e;ht(P,n,Pe,Ei,1,1,En,Qi,1,3501,k)|0;break e}case 5:{D[P+404>>2]=w(w(ke-w(et(P)))+w(Y(P,0,xr)));break e}default:break e}while(0);T=T+1|0}while((T|0)!=(q|0))}if(we=we+1|0,(we|0)==(l|0))break;P=q}}}while(0);if(D[e+908>>2]=w(kn(e,2,ls,d,d)),D[e+912>>2]=w(kn(e,0,Wl,_,d)),((ku|0)!=0?(Hl=t[e+32>>2]|0,bl=(ku|0)==2,!(bl&(Hl|0)!=2)):0)?bl&(Hl|0)==2&&(n=w(fs+zt),n=w(Ur(w(cc(n,w(Dt(e,xn,ss,Zi)))),fs)),Kn=198):(n=w(kn(e,xn,ss,Zi,d)),Kn=198),(Kn|0)==198&&(D[e+908+(t[976+(xn<<2)>>2]<<2)>>2]=n),((Au|0)!=0?(Vl=t[e+32>>2]|0,Yl=(Au|0)==2,!(Yl&(Vl|0)!=2)):0)?Yl&(Vl|0)==2&&(n=w(Ri+xr),n=w(Ur(w(cc(n,w(Dt(e,Vt,w(Ri+Di),cs)))),Ri)),Kn=204):(n=w(kn(e,Vt,w(Ri+Di),cs,d)),Kn=204),(Kn|0)==204&&(D[e+908+(t[976+(Vt<<2)>>2]<<2)>>2]=n),y){if((t[Gl>>2]|0)==2){P=976+(Vt<<2)|0,q=1040+(Vt<<2)|0,T=0;do we=e0(e,T)|0,t[we+24>>2]|0||($l=t[P>>2]|0,kt=w(D[e+908+($l<<2)>>2]),Qr=we+400+(t[q>>2]<<2)|0,kt=w(kt-w(D[Qr>>2])),D[Qr>>2]=w(kt-w(D[we+908+($l<<2)>>2]))),T=T+1|0;while((T|0)!=(Ni|0))}if(o|0){T=br?ku:s;do bt(e,o,En,T,Qi,Ei,k),o=t[o+960>>2]|0;while((o|0)!=0)}if(T=(xn|2|0)==3,P=(Vt|2|0)==3,T|P){o=0;do q=t[(t[eo>>2]|0)+(o<<2)>>2]|0,(t[q+36>>2]|0)!=1&&(T&&Zt(e,q,xn),P&&Zt(e,q,Vt)),o=o+1|0;while((o|0)!=(Ni|0))}}}while(0);h=Ou}function ki(e,n){e=e|0,n=w(n);var r=0;li(e,n>=w(0),3147),r=n==w(0),D[e+4>>2]=r?w(0):n}function Yr(e,n,r,o){e=e|0,n=w(n),r=w(r),o=o|0;var s=tt,l=tt,d=0,_=0,y=0;t[2278]=(t[2278]|0)+1,$r(e),m0(e,2,n)|0?(s=w(Tn(t[e+992>>2]|0,n)),y=1,s=w(s+w(mt(e,2,n)))):(s=w(Tn(e+380|0,n)),s>=w(0)?y=2:(y=((gt(n)|0)^1)&1,s=n)),m0(e,0,r)|0?(l=w(Tn(t[e+996>>2]|0,r)),_=1,l=w(l+w(mt(e,0,n)))):(l=w(Tn(e+388|0,r)),l>=w(0)?_=2:(_=((gt(r)|0)^1)&1,l=r)),d=e+976|0,(ht(e,s,l,o,y,_,n,r,1,3189,t[d>>2]|0)|0?(Yo(e,t[e+496>>2]|0,n,r,n),bi(e,w(D[(t[d>>2]|0)+4>>2]),w(0),w(0)),c[11696]|0):0)&&ff(e,7)}function $r(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;_=h,h=h+32|0,d=_+24|0,l=_+16|0,o=_+8|0,s=_,r=0;do n=e+380+(r<<3)|0,((t[e+380+(r<<3)+4>>2]|0)!=0?(y=n,k=t[y+4>>2]|0,T=o,t[T>>2]=t[y>>2],t[T+4>>2]=k,T=e+364+(r<<3)|0,k=t[T+4>>2]|0,y=s,t[y>>2]=t[T>>2],t[y+4>>2]=k,t[l>>2]=t[o>>2],t[l+4>>2]=t[o+4>>2],t[d>>2]=t[s>>2],t[d+4>>2]=t[s+4>>2],o0(l,d)|0):0)||(n=e+348+(r<<3)|0),t[e+992+(r<<2)>>2]=n,r=r+1|0;while((r|0)!=2);h=_}function m0(e,n,r){e=e|0,n=n|0,r=w(r);var o=0;switch(e=t[e+992+(t[976+(n<<2)>>2]<<2)>>2]|0,t[e+4>>2]|0){case 0:case 3:{e=0;break}case 1:{w(D[e>>2])>2])>2]|0){case 2:{n=w(w(w(D[e>>2])*n)/w(100));break}case 1:{n=w(D[e>>2]);break}default:n=w(J)}return w(n)}function Yo(e,n,r,o,s){e=e|0,n=n|0,r=w(r),o=w(o),s=w(s);var l=0,d=tt;n=t[e+944>>2]|0?n:1,l=N0(t[e+4>>2]|0,n)|0,n=Cl(l,n)|0,r=w(Wr(e,l,r)),o=w(Wr(e,n,o)),d=w(r+w(Tr(e,l,s))),D[e+400+(t[1040+(l<<2)>>2]<<2)>>2]=d,r=w(r+w(R0(e,l,s))),D[e+400+(t[1e3+(l<<2)>>2]<<2)>>2]=r,r=w(o+w(Tr(e,n,s))),D[e+400+(t[1040+(n<<2)>>2]<<2)>>2]=r,s=w(o+w(R0(e,n,s))),D[e+400+(t[1e3+(n<<2)>>2]<<2)>>2]=s}function bi(e,n,r,o){e=e|0,n=w(n),r=w(r),o=w(o);var s=0,l=0,d=tt,_=tt,y=0,k=0,T=tt,P=0,q=tt,we=tt,le=tt,ie=tt;if(n!=w(0)&&(s=e+400|0,ie=w(D[s>>2]),l=e+404|0,le=w(D[l>>2]),P=e+416|0,we=w(D[P>>2]),k=e+420|0,d=w(D[k>>2]),q=w(ie+r),T=w(le+o),o=w(q+we),_=w(T+d),y=(t[e+988>>2]|0)==1,D[s>>2]=w($0(ie,n,0,y)),D[l>>2]=w($0(le,n,0,y)),r=w(V4(w(we*n),w(1))),Vr(r,w(0))|0?l=0:l=(Vr(r,w(1))|0)^1,r=w(V4(w(d*n),w(1))),Vr(r,w(0))|0?s=0:s=(Vr(r,w(1))|0)^1,ie=w($0(o,n,y&l,y&(l^1))),D[P>>2]=w(ie-w($0(q,n,0,y))),ie=w($0(_,n,y&s,y&(s^1))),D[k>>2]=w(ie-w($0(T,n,0,y))),l=(t[e+952>>2]|0)-(t[e+948>>2]|0)>>2,l|0)){s=0;do bi(e0(e,s)|0,n,q,T),s=s+1|0;while((s|0)!=(l|0))}}function or(e,n,r,o,s){switch(e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,r|0){case 5:case 0:{e=q8(t[489]|0,o,s)|0;break}default:e=AL(o,s)|0}return e|0}function zs(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;s=h,h=h+16|0,l=s,t[l>>2]=o,Ku(e,0,n,r,l),h=s}function Ku(e,n,r,o,s){if(e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,e=e|0?e:956,sD[t[e+8>>2]&1](e,n,r,o,s)|0,(r|0)==5)_n();else return}function J0(e,n,r){e=e|0,n=n|0,r=r|0,c[e+n>>0]=r&1}function af(e,n){e=e|0,n=n|0;var r=0,o=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,o=(t[r>>2]|0)-(t[n>>2]|0)>>2,o|0&&(S0(e,o),El(e,t[n>>2]|0,t[r>>2]|0,o))}function S0(e,n){e=e|0,n=n|0;var r=0;if((Q0(e)|0)>>>0>>0&&$n(e),n>>>0>1073741823)_n();else{r=Tt(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function El(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,o=e+4|0,e=r-n|0,(e|0)>0&&(vn(t[o>>2]|0,n|0,e|0)|0,t[o>>2]=(t[o>>2]|0)+(e>>>2<<2))}function Q0(e){return e=e|0,1073741823}function Tr(e,n,r){return e=e|0,n=n|0,r=w(r),(Nr(n)|0?(t[e+96>>2]|0)!=0:0)?e=e+92|0:e=en(e+60|0,t[1040+(n<<2)>>2]|0,992)|0,w(uo(e,r))}function R0(e,n,r){return e=e|0,n=n|0,r=w(r),(Nr(n)|0?(t[e+104>>2]|0)!=0:0)?e=e+100|0:e=en(e+60|0,t[1e3+(n<<2)>>2]|0,992)|0,w(uo(e,r))}function Nr(e){return e=e|0,(e|1|0)==3|0}function uo(e,n){return e=e|0,n=w(n),(t[e+4>>2]|0)==3?n=w(0):n=w(Tn(e,n)),w(n)}function so(e,n){return e=e|0,n=n|0,e=t[e>>2]|0,((e|0)==0?(n|0)>1?n:1:e)|0}function N0(e,n){e=e|0,n=n|0;var r=0;e:do if((n|0)==2){switch(e|0){case 2:{e=3;break e}case 3:break;default:{r=4;break e}}e=2}else r=4;while(0);return e|0}function C0(e,n){e=e|0,n=n|0;var r=tt;return((Nr(n)|0?(t[e+312>>2]|0)!=0:0)?(r=w(D[e+308>>2]),r>=w(0)):0)||(r=w(Ur(w(D[(en(e+276|0,t[1040+(n<<2)>>2]|0,992)|0)>>2]),w(0)))),w(r)}function di(e,n){e=e|0,n=n|0;var r=tt;return((Nr(n)|0?(t[e+320>>2]|0)!=0:0)?(r=w(D[e+316>>2]),r>=w(0)):0)||(r=w(Ur(w(D[(en(e+276|0,t[1e3+(n<<2)>>2]|0,992)|0)>>2]),w(0)))),w(r)}function u0(e,n,r){e=e|0,n=n|0,r=w(r);var o=tt;return((Nr(n)|0?(t[e+240>>2]|0)!=0:0)?(o=w(Tn(e+236|0,r)),o>=w(0)):0)||(o=w(Ur(w(Tn(en(e+204|0,t[1040+(n<<2)>>2]|0,992)|0,r)),w(0)))),w(o)}function v0(e,n,r){e=e|0,n=n|0,r=w(r);var o=tt;return((Nr(n)|0?(t[e+248>>2]|0)!=0:0)?(o=w(Tn(e+244|0,r)),o>=w(0)):0)||(o=w(Ur(w(Tn(en(e+204|0,t[1e3+(n<<2)>>2]|0,992)|0,r)),w(0)))),w(o)}function To(e,n,r,o,s,l,d){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=w(l),d=w(d);var _=tt,y=tt,k=tt,T=tt,P=tt,q=tt,we=0,le=0,ie=0;ie=h,h=h+16|0,we=ie,le=e+964|0,i0(e,(t[le>>2]|0)!=0,3519),_=w(Fn(e,2,n)),y=w(Fn(e,0,n)),k=w(mt(e,2,n)),T=w(mt(e,0,n)),gt(n)|0?P=n:P=w(Ur(w(0),w(w(n-k)-_))),gt(r)|0?q=r:q=w(Ur(w(0),w(w(r-T)-y))),(o|0)==1&(s|0)==1?(D[e+908>>2]=w(kn(e,2,w(n-k),l,l)),n=w(kn(e,0,w(r-T),d,l))):(lD[t[le>>2]&1](we,e,P,o,q,s),P=w(_+w(D[we>>2])),q=w(n-k),D[e+908>>2]=w(kn(e,2,(o|2|0)==2?P:q,l,l)),q=w(y+w(D[we+4>>2])),n=w(r-T),n=w(kn(e,0,(s|2|0)==2?q:n,d,l))),D[e+912>>2]=n,h=ie}function pu(e,n,r,o,s,l,d){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=w(l),d=w(d);var _=tt,y=tt,k=tt,T=tt;k=w(Fn(e,2,l)),_=w(Fn(e,0,l)),T=w(mt(e,2,l)),y=w(mt(e,0,l)),n=w(n-T),D[e+908>>2]=w(kn(e,2,(o|2|0)==2?k:n,l,l)),r=w(r-y),D[e+912>>2]=w(kn(e,0,(s|2|0)==2?_:r,d,l))}function Sl(e,n,r,o,s,l,d){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=w(l),d=w(d);var _=0,y=tt,k=tt;return _=(o|0)==2,((n<=w(0)&_?0:!(r<=w(0)&(s|0)==2))?!((o|0)==1&(s|0)==1):0)?e=0:(y=w(mt(e,0,l)),k=w(mt(e,2,l)),_=n>2]=w(kn(e,2,_?w(0):n,l,l)),n=w(r-y),_=r>2]=w(kn(e,0,_?w(0):n,d,l)),e=1),e|0}function Cl(e,n){return e=e|0,n=n|0,qt(e)|0?e=N0(2,n)|0:e=0,e|0}function B0(e,n,r){return e=e|0,n=n|0,r=w(r),r=w(u0(e,n,r)),w(r+w(C0(e,n)))}function hu(e,n,r){return e=e|0,n=n|0,r=w(r),r=w(v0(e,n,r)),w(r+w(di(e,n)))}function Fn(e,n,r){e=e|0,n=n|0,r=w(r);var o=tt;return o=w(B0(e,n,r)),w(o+w(hu(e,n,r)))}function pi(e){return e=e|0,t[e+24>>2]|0?e=0:w(Br(e))!=w(0)?e=1:e=w(zr(e))!=w(0),e|0}function Br(e){e=e|0;var n=tt;if(t[e+944>>2]|0){if(n=w(D[e+44>>2]),gt(n)|0)return n=w(D[e+40>>2]),e=n>w(0)&((gt(n)|0)^1),w(e?n:w(0))}else n=w(0);return w(n)}function zr(e){e=e|0;var n=tt,r=0,o=tt;do if(t[e+944>>2]|0){if(n=w(D[e+48>>2]),gt(n)|0){if(r=c[(t[e+976>>2]|0)+2>>0]|0,r<<24>>24==0?(o=w(D[e+40>>2]),o>24?w(1):w(0)}}else n=w(0);while(0);return w(n)}function lo(e){e=e|0;var n=0,r=0;if(pa(e+400|0,0,540)|0,c[e+985>>0]=1,bo(e),r=fi(e)|0,r|0){n=e+948|0,e=0;do lo(t[(t[n>>2]|0)+(e<<2)>>2]|0),e=e+1|0;while((e|0)!=(r|0))}}function wr(e,n,r,o,s,l,d,_,y,k){e=e|0,n=n|0,r=w(r),o=o|0,s=w(s),l=w(l),d=w(d),_=_|0,y=y|0,k=k|0;var T=0,P=tt,q=0,we=0,le=tt,ie=tt,Pe=0,ke=tt,qe=0,pe=tt,_e=0,vt=0,Ln=0,Ht=0,It=0,gn=0,Pn=0,zt=0,Dr=0,Ki=0;Dr=h,h=h+16|0,Ln=Dr+12|0,Ht=Dr+8|0,It=Dr+4|0,gn=Dr,zt=N0(t[e+4>>2]|0,y)|0,_e=Nr(zt)|0,P=w(Tn(Ut(n)|0,_e?l:d)),vt=m0(n,2,l)|0,Pn=m0(n,0,d)|0;do if(gt(P)|0?0:!(gt(_e?r:s)|0)){if(T=n+504|0,!(gt(w(D[T>>2]))|0)&&(!(fn(t[n+976>>2]|0,0)|0)||(t[n+500>>2]|0)==(t[2278]|0)))break;D[T>>2]=w(Ur(P,w(Fn(n,zt,l))))}else q=7;while(0);do if((q|0)==7){if(qe=_e^1,!(qe|vt^1)){d=w(Tn(t[n+992>>2]|0,l)),D[n+504>>2]=w(Ur(d,w(Fn(n,2,l))));break}if(!(_e|Pn^1)){d=w(Tn(t[n+996>>2]|0,d)),D[n+504>>2]=w(Ur(d,w(Fn(n,0,l))));break}D[Ln>>2]=w(J),D[Ht>>2]=w(J),t[It>>2]=0,t[gn>>2]=0,ke=w(mt(n,2,l)),pe=w(mt(n,0,l)),vt?(le=w(ke+w(Tn(t[n+992>>2]|0,l))),D[Ln>>2]=le,t[It>>2]=1,we=1):(we=0,le=w(J)),Pn?(P=w(pe+w(Tn(t[n+996>>2]|0,d))),D[Ht>>2]=P,t[gn>>2]=1,T=1):(T=0,P=w(J)),q=t[e+32>>2]|0,_e&(q|0)==2?q=2:(gt(le)|0?!(gt(r)|0):0)&&(D[Ln>>2]=r,t[It>>2]=2,we=2,le=r),(((q|0)==2&qe?0:gt(P)|0)?!(gt(s)|0):0)&&(D[Ht>>2]=s,t[gn>>2]=2,T=2,P=s),ie=w(D[n+396>>2]),Pe=gt(ie)|0;do if(Pe)q=we;else{if((we|0)==1&qe){D[Ht>>2]=w(w(le-ke)/ie),t[gn>>2]=1,T=1,q=1;break}_e&(T|0)==1?(D[Ln>>2]=w(ie*w(P-pe)),t[It>>2]=1,T=1,q=1):q=we}while(0);Ki=gt(r)|0,we=(T0(e,n)|0)!=4,(_e|vt|((o|0)!=1|Ki)|(we|(q|0)==1)?0:(D[Ln>>2]=r,t[It>>2]=1,!Pe))&&(D[Ht>>2]=w(w(r-ke)/ie),t[gn>>2]=1,T=1),(Pn|qe|((_|0)!=1|(gt(s)|0))|(we|(T|0)==1)?0:(D[Ht>>2]=s,t[gn>>2]=1,!Pe))&&(D[Ln>>2]=w(ie*w(s-pe)),t[It>>2]=1),Kt(n,2,l,l,It,Ln),Kt(n,0,d,l,gn,Ht),r=w(D[Ln>>2]),s=w(D[Ht>>2]),ht(n,r,s,y,t[It>>2]|0,t[gn>>2]|0,l,d,0,3565,k)|0,d=w(D[n+908+(t[976+(zt<<2)>>2]<<2)>>2]),D[n+504>>2]=w(Ur(d,w(Fn(n,zt,l))))}while(0);t[n+500>>2]=t[2278],h=Dr}function kn(e,n,r,o,s){return e=e|0,n=n|0,r=w(r),o=w(o),s=w(s),o=w(Dt(e,n,r,o)),w(Ur(o,w(Fn(e,n,s))))}function T0(e,n){return e=e|0,n=n|0,n=n+20|0,n=t[((t[n>>2]|0)==0?e+16|0:n)>>2]|0,((n|0)==5?qt(t[e+4>>2]|0)|0:0)&&(n=1),n|0}function hi(e,n){return e=e|0,n=n|0,(Nr(n)|0?(t[e+96>>2]|0)!=0:0)?n=4:n=t[1040+(n<<2)>>2]|0,e+60+(n<<3)|0}function Ai(e,n){return e=e|0,n=n|0,(Nr(n)|0?(t[e+104>>2]|0)!=0:0)?n=5:n=t[1e3+(n<<2)>>2]|0,e+60+(n<<3)|0}function Kt(e,n,r,o,s,l){switch(e=e|0,n=n|0,r=w(r),o=w(o),s=s|0,l=l|0,r=w(Tn(e+380+(t[976+(n<<2)>>2]<<3)|0,r)),r=w(r+w(mt(e,n,o))),t[s>>2]|0){case 2:case 1:{s=gt(r)|0,o=w(D[l>>2]),D[l>>2]=s|o>2]=2,D[l>>2]=r);break}default:}}function X(e,n){return e=e|0,n=n|0,e=e+132|0,(Nr(n)|0?(t[(en(e,4,948)|0)+4>>2]|0)!=0:0)?e=1:e=(t[(en(e,t[1040+(n<<2)>>2]|0,948)|0)+4>>2]|0)!=0,e|0}function Y(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0;return e=e+132|0,(Nr(n)|0?(o=en(e,4,948)|0,(t[o+4>>2]|0)!=0):0)?s=4:(o=en(e,t[1040+(n<<2)>>2]|0,948)|0,t[o+4>>2]|0?s=4:r=w(0)),(s|0)==4&&(r=w(Tn(o,r))),w(r)}function ye(e,n,r){e=e|0,n=n|0,r=w(r);var o=tt;return o=w(D[e+908+(t[976+(n<<2)>>2]<<2)>>2]),o=w(o+w(Tr(e,n,r))),w(o+w(R0(e,n,r)))}function he(e){e=e|0;var n=0,r=0,o=0;e:do if(qt(t[e+4>>2]|0)|0)n=0;else if((t[e+16>>2]|0)!=5)if(r=fi(e)|0,!r)n=0;else for(n=0;;){if(o=e0(e,n)|0,(t[o+24>>2]|0)==0?(t[o+20>>2]|0)==5:0){n=1;break e}if(n=n+1|0,n>>>0>=r>>>0){n=0;break}}else n=1;while(0);return n|0}function We(e,n){e=e|0,n=n|0;var r=tt;return r=w(D[e+908+(t[976+(n<<2)>>2]<<2)>>2]),r>=w(0)&((gt(r)|0)^1)|0}function et(e){e=e|0;var n=tt,r=0,o=0,s=0,l=0,d=0,_=0,y=tt;if(r=t[e+968>>2]|0,r)y=w(D[e+908>>2]),n=w(D[e+912>>2]),n=w(rD[r&0](e,y,n)),i0(e,(gt(n)|0)^1,3573);else{l=fi(e)|0;do if(l|0){for(r=0,s=0;;){if(o=e0(e,s)|0,t[o+940>>2]|0){d=8;break}if((t[o+24>>2]|0)!=1)if(_=(T0(e,o)|0)==5,_){r=o;break}else r=(r|0)==0?o:r;if(s=s+1|0,s>>>0>=l>>>0){d=8;break}}if((d|0)==8&&!r)break;return n=w(et(r)),w(n+w(D[r+404>>2]))}while(0);n=w(D[e+912>>2])}return w(n)}function Dt(e,n,r,o){e=e|0,n=n|0,r=w(r),o=w(o);var s=tt,l=0;return qt(n)|0?(n=1,l=3):Nr(n)|0?(n=0,l=3):(o=w(J),s=w(J)),(l|0)==3&&(s=w(Tn(e+364+(n<<3)|0,o)),o=w(Tn(e+380+(n<<3)|0,o))),l=o=w(0)&((gt(o)|0)^1)),r=l?o:r,l=s>=w(0)&((gt(s)|0)^1)&r>2]|0,l)|0,le=Cl(Pe,l)|0,ie=Nr(Pe)|0,P=w(mt(n,2,r)),q=w(mt(n,0,r)),m0(n,2,r)|0?_=w(P+w(Tn(t[n+992>>2]|0,r))):(X(n,2)|0?_t(n,2)|0:0)?(_=w(D[e+908>>2]),y=w(C0(e,2)),y=w(_-w(y+w(di(e,2)))),_=w(Y(n,2,r)),_=w(kn(n,2,w(y-w(_+w(_r(n,2,r)))),r,r))):_=w(J),m0(n,0,s)|0?y=w(q+w(Tn(t[n+996>>2]|0,s))):(X(n,0)|0?_t(n,0)|0:0)?(y=w(D[e+912>>2]),qe=w(C0(e,0)),qe=w(y-w(qe+w(di(e,0)))),y=w(Y(n,0,s)),y=w(kn(n,0,w(qe-w(y+w(_r(n,0,s)))),s,r))):y=w(J),k=gt(_)|0,T=gt(y)|0;do if(k^T?(we=w(D[n+396>>2]),!(gt(we)|0)):0)if(k){_=w(P+w(w(y-q)*we));break}else{qe=w(q+w(w(_-P)/we)),y=T?qe:y;break}while(0);T=gt(_)|0,k=gt(y)|0,T|k&&(pe=(T^1)&1,o=r>w(0)&((o|0)!=0&T),_=ie?_:o?r:_,ht(n,_,y,l,ie?pe:o?2:pe,T&(k^1)&1,_,y,0,3623,d)|0,_=w(D[n+908>>2]),_=w(_+w(mt(n,2,r))),y=w(D[n+912>>2]),y=w(y+w(mt(n,0,r)))),ht(n,_,y,l,1,1,_,y,1,3635,d)|0,(_t(n,Pe)|0?!(X(n,Pe)|0):0)?(pe=t[976+(Pe<<2)>>2]|0,qe=w(D[e+908+(pe<<2)>>2]),qe=w(qe-w(D[n+908+(pe<<2)>>2])),qe=w(qe-w(di(e,Pe))),qe=w(qe-w(R0(n,Pe,r))),qe=w(qe-w(_r(n,Pe,ie?r:s))),D[n+400+(t[1040+(Pe<<2)>>2]<<2)>>2]=qe):ke=21;do if((ke|0)==21){if(X(n,Pe)|0?0:(t[e+8>>2]|0)==1){pe=t[976+(Pe<<2)>>2]|0,qe=w(D[e+908+(pe<<2)>>2]),qe=w(w(qe-w(D[n+908+(pe<<2)>>2]))*w(.5)),D[n+400+(t[1040+(Pe<<2)>>2]<<2)>>2]=qe;break}(X(n,Pe)|0?0:(t[e+8>>2]|0)==2)&&(pe=t[976+(Pe<<2)>>2]|0,qe=w(D[e+908+(pe<<2)>>2]),qe=w(qe-w(D[n+908+(pe<<2)>>2])),D[n+400+(t[1040+(Pe<<2)>>2]<<2)>>2]=qe)}while(0);(_t(n,le)|0?!(X(n,le)|0):0)?(pe=t[976+(le<<2)>>2]|0,qe=w(D[e+908+(pe<<2)>>2]),qe=w(qe-w(D[n+908+(pe<<2)>>2])),qe=w(qe-w(di(e,le))),qe=w(qe-w(R0(n,le,r))),qe=w(qe-w(_r(n,le,ie?s:r))),D[n+400+(t[1040+(le<<2)>>2]<<2)>>2]=qe):ke=30;do if((ke|0)==30?!(X(n,le)|0):0){if((T0(e,n)|0)==2){pe=t[976+(le<<2)>>2]|0,qe=w(D[e+908+(pe<<2)>>2]),qe=w(w(qe-w(D[n+908+(pe<<2)>>2]))*w(.5)),D[n+400+(t[1040+(le<<2)>>2]<<2)>>2]=qe;break}pe=(T0(e,n)|0)==3,pe^(t[e+28>>2]|0)==2&&(pe=t[976+(le<<2)>>2]|0,qe=w(D[e+908+(pe<<2)>>2]),qe=w(qe-w(D[n+908+(pe<<2)>>2])),D[n+400+(t[1040+(le<<2)>>2]<<2)>>2]=qe)}while(0)}function Zt(e,n,r){e=e|0,n=n|0,r=r|0;var o=tt,s=0;s=t[976+(r<<2)>>2]|0,o=w(D[n+908+(s<<2)>>2]),o=w(w(D[e+908+(s<<2)>>2])-o),o=w(o-w(D[n+400+(t[1040+(r<<2)>>2]<<2)>>2])),D[n+400+(t[1e3+(r<<2)>>2]<<2)>>2]=o}function qt(e){return e=e|0,(e|1|0)==1|0}function Ut(e){e=e|0;var n=tt;switch(t[e+56>>2]|0){case 0:case 3:{n=w(D[e+40>>2]),n>w(0)&((gt(n)|0)^1)?e=c[(t[e+976>>2]|0)+2>>0]|0?1056:992:e=1056;break}default:e=e+52|0}return e|0}function fn(e,n){return e=e|0,n=n|0,(c[e+n>>0]|0)!=0|0}function _t(e,n){return e=e|0,n=n|0,e=e+132|0,(Nr(n)|0?(t[(en(e,5,948)|0)+4>>2]|0)!=0:0)?e=1:e=(t[(en(e,t[1e3+(n<<2)>>2]|0,948)|0)+4>>2]|0)!=0,e|0}function _r(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0;return e=e+132|0,(Nr(n)|0?(o=en(e,5,948)|0,(t[o+4>>2]|0)!=0):0)?s=4:(o=en(e,t[1e3+(n<<2)>>2]|0,948)|0,t[o+4>>2]|0?s=4:r=w(0)),(s|0)==4&&(r=w(Tn(o,r))),w(r)}function Wr(e,n,r){return e=e|0,n=n|0,r=w(r),X(e,n)|0?r=w(Y(e,n,r)):r=w(-w(_r(e,n,r))),w(r)}function Ar(e){return e=w(e),D[j>>2]=e,t[j>>2]|0|0}function z(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>1073741823)_n();else{s=Tt(n<<2)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<2)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<2)}function dr(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>2)<<2)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Or(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&Ve(e)}function Qn(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;if(d=e+4|0,_=t[d>>2]|0,s=_-o|0,l=s>>2,e=n+(l<<2)|0,e>>>0>>0){o=_;do t[o>>2]=t[e>>2],e=e+4|0,o=(t[d>>2]|0)+4|0,t[d>>2]=o;while(e>>>0>>0)}l|0&&Y1(_+(0-l<<2)|0,n|0,s|0)|0}function nn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0;return _=n+4|0,y=t[_>>2]|0,s=t[e>>2]|0,d=r,l=d-s|0,o=y+(0-(l>>2)<<2)|0,t[_>>2]=o,(l|0)>0&&vn(o|0,s|0,l|0)|0,s=e+4|0,l=n+8|0,o=(t[s>>2]|0)-d|0,(o|0)>0&&(vn(t[l>>2]|0,r|0,o|0)|0,t[l>>2]=(t[l>>2]|0)+(o>>>2<<2)),d=t[e>>2]|0,t[e>>2]=t[_>>2],t[_>>2]=d,d=t[s>>2]|0,t[s>>2]=t[l>>2],t[l>>2]=d,d=e+8|0,r=n+12|0,e=t[d>>2]|0,t[d>>2]=t[r>>2],t[r>>2]=e,t[n>>2]=t[_>>2],y|0}function s0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;if(d=t[n>>2]|0,l=t[r>>2]|0,(d|0)!=(l|0)){s=e+8|0,r=((l+-4-d|0)>>>2)+1|0,e=d,o=t[s>>2]|0;do t[o>>2]=t[e>>2],o=(t[s>>2]|0)+4|0,t[s>>2]=o,e=e+4|0;while((e|0)!=(l|0));t[n>>2]=d+(r<<2)}}function t0(){_l()}function g0(){var e=0;return e=Tt(4)|0,Kr(e),e|0}function Kr(e){e=e|0,t[e>>2]=a0()|0}function _0(e){e=e|0,e|0&&(Gi(e),Ve(e))}function Gi(e){e=e|0,V0(t[e>>2]|0)}function fo(e,n,r){e=e|0,n=n|0,r=r|0,J0(t[e>>2]|0,n,r)}function x0(e,n){e=e|0,n=w(n),ki(t[e>>2]|0,n)}function Xu(e,n){return e=e|0,n=n|0,fn(t[e>>2]|0,n)|0}function Z0(){var e=0;return e=Tt(8)|0,df(e,0),e|0}function df(e,n){e=e|0,n=n|0,n?n=I0(t[n>>2]|0)|0:n=qu()|0,t[e>>2]=n,t[e+4>>2]=0,Bs(n,e)}function Ba(e){e=e|0;var n=0;return n=Tt(8)|0,df(n,e),n|0}function Oc(e){e=e|0,e|0&&(mu(e),Ve(e))}function mu(e){e=e|0;var n=0;Wu(t[e>>2]|0),n=e+4|0,e=t[n>>2]|0,t[n>>2]=0,e|0&&(Ju(e),Ve(e))}function Ju(e){e=e|0,ei(e)}function ei(e){e=e|0,e=t[e>>2]|0,e|0&&ju(e|0)}function Yf(e){return e=e|0,Vu(e)|0}function pf(e){e=e|0;var n=0,r=0;r=e+4|0,n=t[r>>2]|0,t[r>>2]=0,n|0&&(Ju(n),Ve(n)),Do(t[e>>2]|0)}function ja(e,n){e=e|0,n=n|0,Gu(t[e>>2]|0,t[n>>2]|0)}function Ua(e,n){e=e|0,n=n|0,W(t[e>>2]|0,n)}function Ic(e,n,r){e=e|0,n=n|0,r=+r,yn(t[e>>2]|0,n,w(r))}function vu(e,n,r){e=e|0,n=n|0,r=+r,sn(t[e>>2]|0,n,w(r))}function $f(e,n){e=e|0,n=n|0,R(t[e>>2]|0,n)}function gu(e,n){e=e|0,n=n|0,H(t[e>>2]|0,n)}function co(e,n){e=e|0,n=n|0,ue(t[e>>2]|0,n)}function qa(e,n){e=e|0,n=n|0,M0(t[e>>2]|0,n)}function Ws(e,n){e=e|0,n=n|0,Fe(t[e>>2]|0,n)}function za(e,n){e=e|0,n=n|0,Lr(t[e>>2]|0,n)}function Pc(e,n,r){e=e|0,n=n|0,r=+r,rn(t[e>>2]|0,n,w(r))}function Qu(e,n,r){e=e|0,n=n|0,r=+r,Hn(t[e>>2]|0,n,w(r))}function Mc(e,n){e=e|0,n=n|0,Cr(t[e>>2]|0,n)}function Fc(e,n){e=e|0,n=n|0,K(t[e>>2]|0,n)}function Lc(e,n){e=e|0,n=n|0,je(t[e>>2]|0,n)}function Kf(e,n){e=e|0,n=+n,rt(t[e>>2]|0,w(n))}function Tl(e,n){e=e|0,n=+n,wt(t[e>>2]|0,w(n))}function xl(e,n){e=e|0,n=+n,lt(t[e>>2]|0,w(n))}function hf(e,n){e=e|0,n=+n,st(t[e>>2]|0,w(n))}function xo(e,n){e=e|0,n=+n,xt(t[e>>2]|0,w(n))}function mf(e,n){e=e|0,n=+n,Qt(t[e>>2]|0,w(n))}function Wa(e,n){e=e|0,n=+n,Cn(t[e>>2]|0,w(n))}function ti(e){e=e|0,bn(t[e>>2]|0)}function Hs(e,n){e=e|0,n=+n,h0(t[e>>2]|0,w(n))}function mi(e,n){e=e|0,n=+n,ci(t[e>>2]|0,w(n))}function vi(e){e=e|0,xi(t[e>>2]|0)}function Xf(e,n){e=e|0,n=+n,qr(t[e>>2]|0,w(n))}function Rc(e,n){e=e|0,n=+n,Eo(t[e>>2]|0,w(n))}function Jf(e,n){e=e|0,n=+n,wl(t[e>>2]|0,w(n))}function ao(e,n){e=e|0,n=+n,js(t[e>>2]|0,w(n))}function $o(e,n){e=e|0,n=+n,du(t[e>>2]|0,w(n))}function kl(e,n){e=e|0,n=+n,Yu(t[e>>2]|0,w(n))}function Nc(e,n){e=e|0,n=+n,oo(t[e>>2]|0,w(n))}function Al(e,n){e=e|0,n=+n,Hi(t[e>>2]|0,w(n))}function vf(e,n){e=e|0,n=+n,F0(t[e>>2]|0,w(n))}function Qf(e,n,r){e=e|0,n=n|0,r=+r,ft(t[e>>2]|0,n,w(r))}function k0(e,n,r){e=e|0,n=n|0,r=+r,He(t[e>>2]|0,n,w(r))}function v(e,n,r){e=e|0,n=n|0,r=+r,Qe(t[e>>2]|0,n,w(r))}function m(e){return e=e|0,ve(t[e>>2]|0)|0}function S(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;o=h,h=h+16|0,s=o,ar(s,t[n>>2]|0,r),O(e,s),h=o}function O(e,n){e=e|0,n=n|0,M(e,t[n+4>>2]|0,+w(D[n>>2]))}function M(e,n,r){e=e|0,n=n|0,r=+r,t[e>>2]=n,L[e+8>>3]=r}function b(e){return e=e|0,U(t[e>>2]|0)|0}function ee(e){return e=e|0,fe(t[e>>2]|0)|0}function Ye(e){return e=e|0,de(t[e>>2]|0)|0}function Ze(e){return e=e|0,au(t[e>>2]|0)|0}function ut(e){return e=e|0,Ge(t[e>>2]|0)|0}function In(e){return e=e|0,F(t[e>>2]|0)|0}function A0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;o=h,h=h+16|0,s=o,d0(s,t[n>>2]|0,r),O(e,s),h=o}function jr(e){return e=e|0,xe(t[e>>2]|0)|0}function gi(e){return e=e|0,Xe(t[e>>2]|0)|0}function po(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,Rt(o,t[n>>2]|0),O(e,o),h=r}function _i(e){return e=e|0,+ +w(yl(t[e>>2]|0))}function Re(e){return e=e|0,+ +w(cu(t[e>>2]|0))}function Ce(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,p0(o,t[n>>2]|0),O(e,o),h=r}function ze(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,E0(o,t[n>>2]|0),O(e,o),h=r}function Et(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,So(o,t[n>>2]|0),O(e,o),h=r}function on(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,Dl(o,t[n>>2]|0),O(e,o),h=r}function sr(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,Us(o,t[n>>2]|0),O(e,o),h=r}function mn(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,qs(o,t[n>>2]|0),O(e,o),h=r}function pr(e){return e=e|0,+ +w(Gr(t[e>>2]|0))}function Hr(e,n){return e=e|0,n=n|0,+ +w(St(t[e>>2]|0,n))}function Vn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;o=h,h=h+16|0,s=o,Ne(s,t[n>>2]|0,r),O(e,s),h=o}function ni(e,n,r){e=e|0,n=n|0,r=r|0,Ns(t[e>>2]|0,t[n>>2]|0,r)}function Zf(e,n){e=e|0,n=n|0,D0(t[e>>2]|0,t[n>>2]|0)}function Pm(e){return e=e|0,fi(t[e>>2]|0)|0}function Ha(e){return e=e|0,e=nr(t[e>>2]|0)|0,e?e=Yf(e)|0:e=0,e|0}function vd(e,n){return e=e|0,n=n|0,e=e0(t[e>>2]|0,n)|0,e?e=Yf(e)|0:e=0,e|0}function gd(e,n){e=e|0,n=n|0;var r=0,o=0;o=Tt(4)|0,ba(o,n),r=e+4|0,n=t[r>>2]|0,t[r>>2]=o,n|0&&(Ju(n),Ve(n)),bu(t[e>>2]|0,1)}function ba(e,n){e=e|0,n=n|0,Oo(e,n)}function Bc(e,n,r,o,s,l){e=e|0,n=n|0,r=w(r),o=o|0,s=w(s),l=l|0;var d=0,_=0;d=h,h=h+16|0,_=d,Mm(_,Vu(n)|0,+r,o,+s,l),D[e>>2]=w(+L[_>>3]),D[e+4>>2]=w(+L[_+8>>3]),h=d}function Mm(e,n,r,o,s,l){e=e|0,n=n|0,r=+r,o=o|0,s=+s,l=l|0;var d=0,_=0,y=0,k=0,T=0;d=h,h=h+32|0,T=d+8|0,k=d+20|0,y=d,_=d+16|0,L[T>>3]=r,t[k>>2]=o,L[y>>3]=s,t[_>>2]=l,_d(e,t[n+4>>2]|0,T,k,y,_),h=d}function _d(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0;d=h,h=h+16|0,_=d,Zo(_),n=Oi(n)|0,Fm(e,n,+L[r>>3],t[o>>2]|0,+L[s>>3],t[l>>2]|0),eu(_),h=d}function Oi(e){return e=e|0,t[e>>2]|0}function Fm(e,n,r,o,s,l){e=e|0,n=n|0,r=+r,o=o|0,s=+s,l=l|0;var d=0;d=ko(yd()|0)|0,r=+Ko(r),o=jc(o)|0,s=+Ko(s),Ga(e,ro(0,d|0,n|0,+r,o|0,+s,jc(l)|0)|0)}function yd(){var e=0;return c[7608]|0||(Ed(9120),e=7608,t[e>>2]=1,t[e+4>>2]=0),9120}function ko(e){return e=e|0,t[e+8>>2]|0}function Ko(e){return e=+e,+ +Ol(e)}function jc(e){return e=e|0,Dd(e)|0}function Ga(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;s=h,h=h+32|0,r=s,o=n,o&1?(Lm(r,0),c0(o|0,r|0)|0,Va(e,r),Wn(r)):(t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2]),h=s}function Lm(e,n){e=e|0,n=n|0,wd(e,n),t[e+8>>2]=0,c[e+24>>0]=0}function Va(e,n){e=e|0,n=n|0,n=n+8|0,t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2]}function Wn(e){e=e|0,c[e+24>>0]=0}function wd(e,n){e=e|0,n=n|0,t[e>>2]=n}function Dd(e){return e=e|0,e|0}function Ol(e){return e=+e,+e}function Ed(e){e=e|0,Ao(e,Rm()|0,4)}function Rm(){return 1064}function Ao(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=hl(n|0,r+1|0)|0}function Oo(e,n){e=e|0,n=n|0,n=t[n>>2]|0,t[e>>2]=n,qi(n|0)}function Nm(e){e=e|0;var n=0,r=0;r=e+4|0,n=t[r>>2]|0,t[r>>2]=0,n|0&&(Ju(n),Ve(n)),bu(t[e>>2]|0,0)}function Uc(e){e=e|0,rr(t[e>>2]|0)}function Ya(e){return e=e|0,Go(t[e>>2]|0)|0}function Sd(e,n,r,o){e=e|0,n=+n,r=+r,o=o|0,Yr(t[e>>2]|0,w(n),w(r),o)}function Cd(e){return e=e|0,+ +w(ir(t[e>>2]|0))}function ho(e){return e=e|0,+ +w(Y0(t[e>>2]|0))}function bs(e){return e=e|0,+ +w(L0(t[e>>2]|0))}function $a(e){return e=e|0,+ +w(Co(t[e>>2]|0))}function Td(e){return e=e|0,+ +w($u(t[e>>2]|0))}function qc(e){return e=e|0,+ +w(Vo(t[e>>2]|0))}function xd(e,n){e=e|0,n=n|0,L[e>>3]=+w(ir(t[n>>2]|0)),L[e+8>>3]=+w(Y0(t[n>>2]|0)),L[e+16>>3]=+w(L0(t[n>>2]|0)),L[e+24>>3]=+w(Co(t[n>>2]|0)),L[e+32>>3]=+w($u(t[n>>2]|0)),L[e+40>>3]=+w(Vo(t[n>>2]|0))}function Ka(e,n){return e=e|0,n=n|0,+ +w(Rr(t[e>>2]|0,n))}function kd(e,n){return e=e|0,n=n|0,+ +w(Jn(t[e>>2]|0,n))}function Xa(e,n){return e=e|0,n=n|0,+ +w(ai(t[e>>2]|0,n))}function Ja(){return Rs()|0}function Gs(){Bm(),Vs(),Ad(),Od(),Qa(),jm()}function Bm(){hO(11713,4938,1)}function Vs(){FA(10448)}function Ad(){hA(10408)}function Od(){Bk(10324)}function Qa(){Gx(10096)}function jm(){Um(9132)}function Um(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0,Pe=0,ke=0,qe=0,pe=0,_e=0,vt=0,Ln=0,Ht=0,It=0,gn=0,Pn=0,zt=0,Dr=0,Ki=0,Xi=0,Ji=0,Ro=0,kf=0,Af=0,Cu=0,Of=0,Js=0,Qs=0,If=0,Pf=0,Mf=0,Kn=0,Tu=0,Ff=0,us=0,Lf=0,Rf=0,Zs=0,el=0,ss=0,Fi=0,nu=0,go=0,xu=0,jl=0,Ul=0,tl=0,ql=0,zl=0,Li=0,Di=0,ku=0,xr=0,Wl=0,Qi=0,ls=0,Zi=0,fs=0,Hl=0,bl=0,cs=0,Ri=0,Au=0,Gl=0,Vl=0,Yl=0,En=0,br=0,Ei=0,eo=0,Ni=0,xn=0,Vt=0,Ou=0;n=h,h=h+672|0,r=n+656|0,Ou=n+648|0,Vt=n+640|0,xn=n+632|0,Ni=n+624|0,eo=n+616|0,Ei=n+608|0,br=n+600|0,En=n+592|0,Yl=n+584|0,Vl=n+576|0,Gl=n+568|0,Au=n+560|0,Ri=n+552|0,cs=n+544|0,bl=n+536|0,Hl=n+528|0,fs=n+520|0,Zi=n+512|0,ls=n+504|0,Qi=n+496|0,Wl=n+488|0,xr=n+480|0,ku=n+472|0,Di=n+464|0,Li=n+456|0,zl=n+448|0,ql=n+440|0,tl=n+432|0,Ul=n+424|0,jl=n+416|0,xu=n+408|0,go=n+400|0,nu=n+392|0,Fi=n+384|0,ss=n+376|0,el=n+368|0,Zs=n+360|0,Rf=n+352|0,Lf=n+344|0,us=n+336|0,Ff=n+328|0,Tu=n+320|0,Kn=n+312|0,Mf=n+304|0,Pf=n+296|0,If=n+288|0,Qs=n+280|0,Js=n+272|0,Of=n+264|0,Cu=n+256|0,Af=n+248|0,kf=n+240|0,Ro=n+232|0,Ji=n+224|0,Xi=n+216|0,Ki=n+208|0,Dr=n+200|0,zt=n+192|0,Pn=n+184|0,gn=n+176|0,It=n+168|0,Ht=n+160|0,Ln=n+152|0,vt=n+144|0,_e=n+136|0,pe=n+128|0,qe=n+120|0,ke=n+112|0,Pe=n+104|0,ie=n+96|0,le=n+88|0,we=n+80|0,q=n+72|0,P=n+64|0,T=n+56|0,k=n+48|0,y=n+40|0,_=n+32|0,d=n+24|0,l=n+16|0,s=n+8|0,o=n,qm(e,3646),Id(e,3651,2)|0,Pd(e,3665,2)|0,zm(e,3682,18)|0,t[Ou>>2]=19,t[Ou+4>>2]=0,t[r>>2]=t[Ou>>2],t[r+4>>2]=t[Ou+4>>2],gf(e,3690,r)|0,t[Vt>>2]=1,t[Vt+4>>2]=0,t[r>>2]=t[Vt>>2],t[r+4>>2]=t[Vt+4>>2],Md(e,3696,r)|0,t[xn>>2]=2,t[xn+4>>2]=0,t[r>>2]=t[xn>>2],t[r+4>>2]=t[xn+4>>2],Xr(e,3706,r)|0,t[Ni>>2]=1,t[Ni+4>>2]=0,t[r>>2]=t[Ni>>2],t[r+4>>2]=t[Ni+4>>2],yi(e,3722,r)|0,t[eo>>2]=2,t[eo+4>>2]=0,t[r>>2]=t[eo>>2],t[r+4>>2]=t[eo+4>>2],yi(e,3734,r)|0,t[Ei>>2]=3,t[Ei+4>>2]=0,t[r>>2]=t[Ei>>2],t[r+4>>2]=t[Ei+4>>2],Xr(e,3753,r)|0,t[br>>2]=4,t[br+4>>2]=0,t[r>>2]=t[br>>2],t[r+4>>2]=t[br+4>>2],Xr(e,3769,r)|0,t[En>>2]=5,t[En+4>>2]=0,t[r>>2]=t[En>>2],t[r+4>>2]=t[En+4>>2],Xr(e,3783,r)|0,t[Yl>>2]=6,t[Yl+4>>2]=0,t[r>>2]=t[Yl>>2],t[r+4>>2]=t[Yl+4>>2],Xr(e,3796,r)|0,t[Vl>>2]=7,t[Vl+4>>2]=0,t[r>>2]=t[Vl>>2],t[r+4>>2]=t[Vl+4>>2],Xr(e,3813,r)|0,t[Gl>>2]=8,t[Gl+4>>2]=0,t[r>>2]=t[Gl>>2],t[r+4>>2]=t[Gl+4>>2],Xr(e,3825,r)|0,t[Au>>2]=3,t[Au+4>>2]=0,t[r>>2]=t[Au>>2],t[r+4>>2]=t[Au+4>>2],yi(e,3843,r)|0,t[Ri>>2]=4,t[Ri+4>>2]=0,t[r>>2]=t[Ri>>2],t[r+4>>2]=t[Ri+4>>2],yi(e,3853,r)|0,t[cs>>2]=9,t[cs+4>>2]=0,t[r>>2]=t[cs>>2],t[r+4>>2]=t[cs+4>>2],Xr(e,3870,r)|0,t[bl>>2]=10,t[bl+4>>2]=0,t[r>>2]=t[bl>>2],t[r+4>>2]=t[bl+4>>2],Xr(e,3884,r)|0,t[Hl>>2]=11,t[Hl+4>>2]=0,t[r>>2]=t[Hl>>2],t[r+4>>2]=t[Hl+4>>2],Xr(e,3896,r)|0,t[fs>>2]=1,t[fs+4>>2]=0,t[r>>2]=t[fs>>2],t[r+4>>2]=t[fs+4>>2],j0(e,3907,r)|0,t[Zi>>2]=2,t[Zi+4>>2]=0,t[r>>2]=t[Zi>>2],t[r+4>>2]=t[Zi+4>>2],j0(e,3915,r)|0,t[ls>>2]=3,t[ls+4>>2]=0,t[r>>2]=t[ls>>2],t[r+4>>2]=t[ls+4>>2],j0(e,3928,r)|0,t[Qi>>2]=4,t[Qi+4>>2]=0,t[r>>2]=t[Qi>>2],t[r+4>>2]=t[Qi+4>>2],j0(e,3948,r)|0,t[Wl>>2]=5,t[Wl+4>>2]=0,t[r>>2]=t[Wl>>2],t[r+4>>2]=t[Wl+4>>2],j0(e,3960,r)|0,t[xr>>2]=6,t[xr+4>>2]=0,t[r>>2]=t[xr>>2],t[r+4>>2]=t[xr+4>>2],j0(e,3974,r)|0,t[ku>>2]=7,t[ku+4>>2]=0,t[r>>2]=t[ku>>2],t[r+4>>2]=t[ku+4>>2],j0(e,3983,r)|0,t[Di>>2]=20,t[Di+4>>2]=0,t[r>>2]=t[Di>>2],t[r+4>>2]=t[Di+4>>2],gf(e,3999,r)|0,t[Li>>2]=8,t[Li+4>>2]=0,t[r>>2]=t[Li>>2],t[r+4>>2]=t[Li+4>>2],j0(e,4012,r)|0,t[zl>>2]=9,t[zl+4>>2]=0,t[r>>2]=t[zl>>2],t[r+4>>2]=t[zl+4>>2],j0(e,4022,r)|0,t[ql>>2]=21,t[ql+4>>2]=0,t[r>>2]=t[ql>>2],t[r+4>>2]=t[ql+4>>2],gf(e,4039,r)|0,t[tl>>2]=10,t[tl+4>>2]=0,t[r>>2]=t[tl>>2],t[r+4>>2]=t[tl+4>>2],j0(e,4053,r)|0,t[Ul>>2]=11,t[Ul+4>>2]=0,t[r>>2]=t[Ul>>2],t[r+4>>2]=t[Ul+4>>2],j0(e,4065,r)|0,t[jl>>2]=12,t[jl+4>>2]=0,t[r>>2]=t[jl>>2],t[r+4>>2]=t[jl+4>>2],j0(e,4084,r)|0,t[xu>>2]=13,t[xu+4>>2]=0,t[r>>2]=t[xu>>2],t[r+4>>2]=t[xu+4>>2],j0(e,4097,r)|0,t[go>>2]=14,t[go+4>>2]=0,t[r>>2]=t[go>>2],t[r+4>>2]=t[go+4>>2],j0(e,4117,r)|0,t[nu>>2]=15,t[nu+4>>2]=0,t[r>>2]=t[nu>>2],t[r+4>>2]=t[nu+4>>2],j0(e,4129,r)|0,t[Fi>>2]=16,t[Fi+4>>2]=0,t[r>>2]=t[Fi>>2],t[r+4>>2]=t[Fi+4>>2],j0(e,4148,r)|0,t[ss>>2]=17,t[ss+4>>2]=0,t[r>>2]=t[ss>>2],t[r+4>>2]=t[ss+4>>2],j0(e,4161,r)|0,t[el>>2]=18,t[el+4>>2]=0,t[r>>2]=t[el>>2],t[r+4>>2]=t[el+4>>2],j0(e,4181,r)|0,t[Zs>>2]=5,t[Zs+4>>2]=0,t[r>>2]=t[Zs>>2],t[r+4>>2]=t[Zs+4>>2],yi(e,4196,r)|0,t[Rf>>2]=6,t[Rf+4>>2]=0,t[r>>2]=t[Rf>>2],t[r+4>>2]=t[Rf+4>>2],yi(e,4206,r)|0,t[Lf>>2]=7,t[Lf+4>>2]=0,t[r>>2]=t[Lf>>2],t[r+4>>2]=t[Lf+4>>2],yi(e,4217,r)|0,t[us>>2]=3,t[us+4>>2]=0,t[r>>2]=t[us>>2],t[r+4>>2]=t[us+4>>2],Zu(e,4235,r)|0,t[Ff>>2]=1,t[Ff+4>>2]=0,t[r>>2]=t[Ff>>2],t[r+4>>2]=t[Ff+4>>2],_f(e,4251,r)|0,t[Tu>>2]=4,t[Tu+4>>2]=0,t[r>>2]=t[Tu>>2],t[r+4>>2]=t[Tu+4>>2],Zu(e,4263,r)|0,t[Kn>>2]=5,t[Kn+4>>2]=0,t[r>>2]=t[Kn>>2],t[r+4>>2]=t[Kn+4>>2],Zu(e,4279,r)|0,t[Mf>>2]=6,t[Mf+4>>2]=0,t[r>>2]=t[Mf>>2],t[r+4>>2]=t[Mf+4>>2],Zu(e,4293,r)|0,t[Pf>>2]=7,t[Pf+4>>2]=0,t[r>>2]=t[Pf>>2],t[r+4>>2]=t[Pf+4>>2],Zu(e,4306,r)|0,t[If>>2]=8,t[If+4>>2]=0,t[r>>2]=t[If>>2],t[r+4>>2]=t[If+4>>2],Zu(e,4323,r)|0,t[Qs>>2]=9,t[Qs+4>>2]=0,t[r>>2]=t[Qs>>2],t[r+4>>2]=t[Qs+4>>2],Zu(e,4335,r)|0,t[Js>>2]=2,t[Js+4>>2]=0,t[r>>2]=t[Js>>2],t[r+4>>2]=t[Js+4>>2],_f(e,4353,r)|0,t[Of>>2]=12,t[Of+4>>2]=0,t[r>>2]=t[Of>>2],t[r+4>>2]=t[Of+4>>2],Io(e,4363,r)|0,t[Cu>>2]=1,t[Cu+4>>2]=0,t[r>>2]=t[Cu>>2],t[r+4>>2]=t[Cu+4>>2],_u(e,4376,r)|0,t[Af>>2]=2,t[Af+4>>2]=0,t[r>>2]=t[Af>>2],t[r+4>>2]=t[Af+4>>2],_u(e,4388,r)|0,t[kf>>2]=13,t[kf+4>>2]=0,t[r>>2]=t[kf>>2],t[r+4>>2]=t[kf+4>>2],Io(e,4402,r)|0,t[Ro>>2]=14,t[Ro+4>>2]=0,t[r>>2]=t[Ro>>2],t[r+4>>2]=t[Ro+4>>2],Io(e,4411,r)|0,t[Ji>>2]=15,t[Ji+4>>2]=0,t[r>>2]=t[Ji>>2],t[r+4>>2]=t[Ji+4>>2],Io(e,4421,r)|0,t[Xi>>2]=16,t[Xi+4>>2]=0,t[r>>2]=t[Xi>>2],t[r+4>>2]=t[Xi+4>>2],Io(e,4433,r)|0,t[Ki>>2]=17,t[Ki+4>>2]=0,t[r>>2]=t[Ki>>2],t[r+4>>2]=t[Ki+4>>2],Io(e,4446,r)|0,t[Dr>>2]=18,t[Dr+4>>2]=0,t[r>>2]=t[Dr>>2],t[r+4>>2]=t[Dr+4>>2],Io(e,4458,r)|0,t[zt>>2]=3,t[zt+4>>2]=0,t[r>>2]=t[zt>>2],t[r+4>>2]=t[zt+4>>2],_u(e,4471,r)|0,t[Pn>>2]=1,t[Pn+4>>2]=0,t[r>>2]=t[Pn>>2],t[r+4>>2]=t[Pn+4>>2],ec(e,4486,r)|0,t[gn>>2]=10,t[gn+4>>2]=0,t[r>>2]=t[gn>>2],t[r+4>>2]=t[gn+4>>2],Zu(e,4496,r)|0,t[It>>2]=11,t[It+4>>2]=0,t[r>>2]=t[It>>2],t[r+4>>2]=t[It+4>>2],Zu(e,4508,r)|0,t[Ht>>2]=3,t[Ht+4>>2]=0,t[r>>2]=t[Ht>>2],t[r+4>>2]=t[Ht+4>>2],_f(e,4519,r)|0,t[Ln>>2]=4,t[Ln+4>>2]=0,t[r>>2]=t[Ln>>2],t[r+4>>2]=t[Ln+4>>2],Wm(e,4530,r)|0,t[vt>>2]=19,t[vt+4>>2]=0,t[r>>2]=t[vt>>2],t[r+4>>2]=t[vt+4>>2],Fd(e,4542,r)|0,t[_e>>2]=12,t[_e+4>>2]=0,t[r>>2]=t[_e>>2],t[r+4>>2]=t[_e+4>>2],yf(e,4554,r)|0,t[pe>>2]=13,t[pe+4>>2]=0,t[r>>2]=t[pe>>2],t[r+4>>2]=t[pe+4>>2],tc(e,4568,r)|0,t[qe>>2]=2,t[qe+4>>2]=0,t[r>>2]=t[qe>>2],t[r+4>>2]=t[qe+4>>2],Hm(e,4578,r)|0,t[ke>>2]=20,t[ke+4>>2]=0,t[r>>2]=t[ke>>2],t[r+4>>2]=t[ke+4>>2],Ld(e,4587,r)|0,t[Pe>>2]=22,t[Pe+4>>2]=0,t[r>>2]=t[Pe>>2],t[r+4>>2]=t[Pe+4>>2],gf(e,4602,r)|0,t[ie>>2]=23,t[ie+4>>2]=0,t[r>>2]=t[ie>>2],t[r+4>>2]=t[ie+4>>2],gf(e,4619,r)|0,t[le>>2]=14,t[le+4>>2]=0,t[r>>2]=t[le>>2],t[r+4>>2]=t[le+4>>2],Rd(e,4629,r)|0,t[we>>2]=1,t[we+4>>2]=0,t[r>>2]=t[we>>2],t[r+4>>2]=t[we+4>>2],zc(e,4637,r)|0,t[q>>2]=4,t[q+4>>2]=0,t[r>>2]=t[q>>2],t[r+4>>2]=t[q+4>>2],_u(e,4653,r)|0,t[P>>2]=5,t[P+4>>2]=0,t[r>>2]=t[P>>2],t[r+4>>2]=t[P+4>>2],_u(e,4669,r)|0,t[T>>2]=6,t[T+4>>2]=0,t[r>>2]=t[T>>2],t[r+4>>2]=t[T+4>>2],_u(e,4686,r)|0,t[k>>2]=7,t[k+4>>2]=0,t[r>>2]=t[k>>2],t[r+4>>2]=t[k+4>>2],_u(e,4701,r)|0,t[y>>2]=8,t[y+4>>2]=0,t[r>>2]=t[y>>2],t[r+4>>2]=t[y+4>>2],_u(e,4719,r)|0,t[_>>2]=9,t[_+4>>2]=0,t[r>>2]=t[_>>2],t[r+4>>2]=t[_+4>>2],_u(e,4736,r)|0,t[d>>2]=21,t[d+4>>2]=0,t[r>>2]=t[d>>2],t[r+4>>2]=t[d+4>>2],Nd(e,4754,r)|0,t[l>>2]=2,t[l+4>>2]=0,t[r>>2]=t[l>>2],t[r+4>>2]=t[l+4>>2],ec(e,4772,r)|0,t[s>>2]=3,t[s+4>>2]=0,t[r>>2]=t[s>>2],t[r+4>>2]=t[s+4>>2],ec(e,4790,r)|0,t[o>>2]=4,t[o+4>>2]=0,t[r>>2]=t[o>>2],t[r+4>>2]=t[o+4>>2],ec(e,4808,r)|0,h=n}function qm(e,n){e=e|0,n=n|0;var r=0;r=Nx()|0,t[e>>2]=r,Bx(r,n),Cf(t[e>>2]|0)}function Id(e,n,r){return e=e|0,n=n|0,r=r|0,Ex(e,Zn(n)|0,r,0),e|0}function Pd(e,n,r){return e=e|0,n=n|0,r=r|0,ux(e,Zn(n)|0,r,0),e|0}function zm(e,n,r){return e=e|0,n=n|0,r=r|0,V9(e,Zn(n)|0,r,0),e|0}function gf(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],I9(e,n,s),h=o,e|0}function Md(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],vo(e,n,s),h=o,e|0}function Xr(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],a(e,n,s),h=o,e|0}function yi(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],n4(e,n,s),h=o,e|0}function j0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],b_(e,n,s),h=o,e|0}function Zu(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],L_(e,n,s),h=o,e|0}function _f(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Hp(e,n,s),h=o,e|0}function Io(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],e_(e,n,s),h=o,e|0}function _u(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Ip(e,n,s),h=o,e|0}function ec(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Ng(e,n,s),h=o,e|0}function Wm(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],l0(e,n,s),h=o,e|0}function Fd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],hg(e,n,s),h=o,e|0}function yf(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],sg(e,n,s),h=o,e|0}function tc(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Kv(e,n,s),h=o,e|0}function Hm(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],y1(e,n,s),h=o,e|0}function Ld(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],wv(e,n,s),h=o,e|0}function Rd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],fv(e,n,s),h=o,e|0}function zc(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Gd(e,n,s),h=o,e|0}function Nd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Wc(e,n,s),h=o,e|0}function Wc(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Hc(e,r,s,1),h=o}function Zn(e){return e=e|0,e|0}function Hc(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=Za()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=Bd(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,bc(l,o)|0,o),h=s}function Za(){var e=0,n=0;if(c[7616]|0||(yu(9136),Bt(24,9136,Q|0)|0,n=7616,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9136)|0)){e=9136,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));yu(9136)}return 9136}function Bd(e){return e=e|0,0}function bc(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=Za()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],n1(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(jd(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function ur(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0;d=h,h=h+32|0,q=d+24|0,P=d+20|0,y=d+16|0,T=d+12|0,k=d+8|0,_=d+4|0,we=d,t[P>>2]=n,t[y>>2]=r,t[T>>2]=o,t[k>>2]=s,t[_>>2]=l,l=e+28|0,t[we>>2]=t[l>>2],t[q>>2]=t[we>>2],e1(e+24|0,q,P,T,k,y,_)|0,t[l>>2]=t[t[l>>2]>>2],h=d}function e1(e,n,r,o,s,l,d){return e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,d=d|0,e=bm(n)|0,n=Tt(24)|0,t1(n+4|0,t[r>>2]|0,t[o>>2]|0,t[s>>2]|0,t[l>>2]|0,t[d>>2]|0),t[n>>2]=t[e>>2],t[e>>2]=n,n|0}function bm(e){return e=e|0,t[e>>2]|0}function t1(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=o,t[e+12>>2]=s,t[e+16>>2]=l}function Lt(e,n){return e=e|0,n=n|0,n|e|0}function n1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function jd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=Gm(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,Ud(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],n1(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Vm(e,_),Ym(_),h=k;return}}function Gm(e){return e=e|0,357913941}function Ud(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Vm(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Ym(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function yu(e){e=e|0,Gc(e)}function r1(e){e=e|0,i1(e+24|0)}function Dn(e){return e=e|0,t[e>>2]|0}function i1(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Gc(e){e=e|0;var n=0;n=An()|0,Nn(e,2,3,n,cn()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function An(){return 9228}function cn(){return 1140}function Vc(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r+8|0,s=r,l=Il(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=$m(n,o)|0,h=r,n|0}function Nn(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=o,t[e+12>>2]=s,t[e+16>>2]=l}function Il(e){return e=e|0,(t[(Za()|0)+24>>2]|0)+(e*12|0)|0}function $m(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;return s=h,h=h+48|0,o=s,r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),Bl[r&31](o,e),o=o1(o)|0,h=s,o|0}function o1(e){e=e|0;var n=0,r=0,o=0,s=0;return s=h,h=h+32|0,n=s+12|0,r=s,o=U0(u1()|0)|0,o?(s1(n,o),l1(r,n),qd(e,r),e=f1(n)|0):e=zd(e)|0,h=s,e|0}function u1(){var e=0;return c[7632]|0||(nc(9184),Bt(25,9184,Q|0)|0,e=7632,t[e>>2]=1,t[e+4>>2]=0),9184}function U0(e){return e=e|0,t[e+36>>2]|0}function s1(e,n){e=e|0,n=n|0,t[e>>2]=n,t[e+4>>2]=e,t[e+8>>2]=0}function l1(e,n){e=e|0,n=n|0,t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=0}function qd(e,n){e=e|0,n=n|0,Ii(n,e,e+8|0,e+16|0,e+24|0,e+32|0,e+40|0)|0}function f1(e){return e=e|0,t[(t[e+4>>2]|0)+8>>2]|0}function zd(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0;y=h,h=h+16|0,r=y+4|0,o=y,s=Qo(8)|0,l=s,d=Tt(48)|0,_=d,n=_+48|0;do t[_>>2]=t[e>>2],_=_+4|0,e=e+4|0;while((_|0)<(n|0));return n=l+4|0,t[n>>2]=d,_=Tt(8)|0,d=t[n>>2]|0,t[o>>2]=0,t[r>>2]=t[o>>2],Wd(_,d,r),t[s>>2]=_,h=y,l|0}function Wd(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=Tt(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1092,t[r+12>>2]=n,t[e+4>>2]=r}function Km(e){e=e|0,da(e),Ve(e)}function Xm(e){e=e|0,e=t[e+12>>2]|0,e|0&&Ve(e)}function es(e){e=e|0,Ve(e)}function Ii(e,n,r,o,s,l,d){return e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,d=d|0,l=c1(t[e>>2]|0,n,r,o,s,l,d)|0,d=e+4|0,t[(t[d>>2]|0)+8>>2]=l,t[(t[d>>2]|0)+8>>2]|0}function c1(e,n,r,o,s,l,d){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,d=d|0;var _=0,y=0;return _=h,h=h+16|0,y=_,Zo(y),e=Oi(e)|0,d=Jm(e,+L[n>>3],+L[r>>3],+L[o>>3],+L[s>>3],+L[l>>3],+L[d>>3])|0,eu(y),h=_,d|0}function Jm(e,n,r,o,s,l,d){e=e|0,n=+n,r=+r,o=+o,s=+s,l=+l,d=+d;var _=0;return _=ko(a1()|0)|0,n=+Ko(n),r=+Ko(r),o=+Ko(o),s=+Ko(s),l=+Ko(l),xs(0,_|0,e|0,+n,+r,+o,+s,+l,+ +Ko(d))|0}function a1(){var e=0;return c[7624]|0||(Qm(9172),e=7624,t[e>>2]=1,t[e+4>>2]=0),9172}function Qm(e){e=e|0,Ao(e,Zm()|0,6)}function Zm(){return 1112}function nc(e){e=e|0,Ys(e)}function Hd(e){e=e|0,d1(e+24|0),bd(e+16|0)}function d1(e){e=e|0,tv(e)}function bd(e){e=e|0,ev(e)}function ev(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,Ve(r);while((n|0)!=0);t[e>>2]=0}function tv(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,Ve(r);while((n|0)!=0);t[e>>2]=0}function Ys(e){e=e|0;var n=0;t[e+16>>2]=0,t[e+20>>2]=0,n=e+24|0,t[n>>2]=0,t[e+28>>2]=n,t[e+36>>2]=0,c[e+40>>0]=0,c[e+41>>0]=0}function Gd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Vd(e,r,s,0),h=o}function Vd(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=p1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=h1(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,Yd(l,o)|0,o),h=s}function p1(){var e=0,n=0;if(c[7640]|0||(Xo(9232),Bt(26,9232,Q|0)|0,n=7640,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9232)|0)){e=9232,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Xo(9232)}return 9232}function h1(e){return e=e|0,0}function Yd(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=p1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],wf(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(m1(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function wf(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function m1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=$d(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,Kd(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],wf(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Yc(e,_),Xd(_),h=k;return}}function $d(e){return e=e|0,357913941}function Kd(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Yc(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Xd(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Xo(e){e=e|0,Jd(e)}function Pl(e){e=e|0,nv(e+24|0)}function nv(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Jd(e){e=e|0;var n=0;n=An()|0,Nn(e,2,1,n,rv()|0,3),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function rv(){return 1144}function iv(e,n,r,o,s){e=e|0,n=n|0,r=+r,o=+o,s=s|0;var l=0,d=0,_=0,y=0;l=h,h=h+16|0,d=l+8|0,_=l,y=ov(e)|0,e=t[y+4>>2]|0,t[_>>2]=t[y>>2],t[_+4>>2]=e,t[d>>2]=t[_>>2],t[d+4>>2]=t[_+4>>2],uv(n,d,r,o,s),h=l}function ov(e){return e=e|0,(t[(p1()|0)+24>>2]|0)+(e*12|0)|0}function uv(e,n,r,o,s){e=e|0,n=n|0,r=+r,o=+o,s=s|0;var l=0,d=0,_=0,y=0,k=0;k=h,h=h+16|0,d=k+2|0,_=k+1|0,y=k,l=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(l=t[(t[e>>2]|0)+l>>2]|0),wu(d,r),r=+Du(d,r),wu(_,o),o=+Du(_,o),ts(y,s),y=ns(y,s)|0,iD[l&1](e,r,o,y),h=k}function wu(e,n){e=e|0,n=+n}function Du(e,n){return e=e|0,n=+n,+ +lv(n)}function ts(e,n){e=e|0,n=n|0}function ns(e,n){return e=e|0,n=n|0,sv(n)|0}function sv(e){return e=e|0,e|0}function lv(e){return e=+e,+e}function fv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Qd(e,r,s,1),h=o}function Qd(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=$c()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=Zd(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,cv(l,o)|0,o),h=s}function $c(){var e=0,n=0;if(c[7648]|0||(np(9268),Bt(27,9268,Q|0)|0,n=7648,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9268)|0)){e=9268,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));np(9268)}return 9268}function Zd(e){return e=e|0,0}function cv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=$c()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],ep(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(av(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function ep(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function av(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=tp(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,dv(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],ep(l,o,r),t[y>>2]=(t[y>>2]|0)+12,pv(e,_),hv(_),h=k;return}}function tp(e){return e=e|0,357913941}function dv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function pv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function hv(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function np(e){e=e|0,Po(e)}function mv(e){e=e|0,vv(e+24|0)}function vv(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Po(e){e=e|0;var n=0;n=An()|0,Nn(e,2,4,n,gv()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function gv(){return 1160}function _v(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r+8|0,s=r,l=yv(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=rp(n,o)|0,h=r,n|0}function yv(e){return e=e|0,(t[($c()|0)+24>>2]|0)+(e*12|0)|0}function rp(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),ip(dc[r&31](e)|0)|0}function ip(e){return e=e|0,e&1|0}function wv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Dv(e,r,s,0),h=o}function Dv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=v1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=g1(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,Ev(l,o)|0,o),h=s}function v1(){var e=0,n=0;if(c[7656]|0||(up(9304),Bt(28,9304,Q|0)|0,n=7656,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9304)|0)){e=9304,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));up(9304)}return 9304}function g1(e){return e=e|0,0}function Ev(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=v1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],op(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Sv(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function op(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function Sv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=Cv(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,Tv(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],op(l,o,r),t[y>>2]=(t[y>>2]|0)+12,xv(e,_),kv(_),h=k;return}}function Cv(e){return e=e|0,357913941}function Tv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function xv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function kv(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function up(e){e=e|0,Iv(e)}function Av(e){e=e|0,Ov(e+24|0)}function Ov(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Iv(e){e=e|0;var n=0;n=An()|0,Nn(e,2,5,n,Pv()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Pv(){return 1164}function Mv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=o+8|0,l=o,d=Fv(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Lv(n,s,r),h=o}function Fv(e){return e=e|0,(t[(v1()|0)+24>>2]|0)+(e*12|0)|0}function Lv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),$s(s,r),r=Ks(s,r)|0,Bl[o&31](e,r),Xs(s),h=l}function $s(e,n){e=e|0,n=n|0,Rv(e,n)}function Ks(e,n){return e=e|0,n=n|0,e|0}function Xs(e){e=e|0,Ju(e)}function Rv(e,n){e=e|0,n=n|0,_1(e,n)}function _1(e,n){e=e|0,n=n|0,t[e>>2]=n}function y1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],sp(e,r,s,0),h=o}function sp(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=w1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=Nv(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,Bv(l,o)|0,o),h=s}function w1(){var e=0,n=0;if(c[7664]|0||(cp(9340),Bt(29,9340,Q|0)|0,n=7664,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9340)|0)){e=9340,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));cp(9340)}return 9340}function Nv(e){return e=e|0,0}function Bv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=w1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],lp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(jv(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function lp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function jv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=Uv(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,qv(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],lp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,zv(e,_),fp(_),h=k;return}}function Uv(e){return e=e|0,357913941}function qv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function zv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function fp(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function cp(e){e=e|0,Hv(e)}function Kc(e){e=e|0,Wv(e+24|0)}function Wv(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Hv(e){e=e|0;var n=0;n=An()|0,Nn(e,2,4,n,bv()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function bv(){return 1180}function Gv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=Vv(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],r=Yv(n,s,r)|0,h=o,r|0}function Vv(e){return e=e|0,(t[(w1()|0)+24>>2]|0)+(e*12|0)|0}function Yv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;return l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),Ml(s,r),s=Fl(s,r)|0,s=Xc(J4[o&15](e,s)|0)|0,h=l,s|0}function Ml(e,n){e=e|0,n=n|0}function Fl(e,n){return e=e|0,n=n|0,$v(n)|0}function Xc(e){return e=e|0,e|0}function $v(e){return e=e|0,e|0}function Kv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Xv(e,r,s,0),h=o}function Xv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=D1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=Jv(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,Qv(l,o)|0,o),h=s}function D1(){var e=0,n=0;if(c[7672]|0||(hp(9376),Bt(30,9376,Q|0)|0,n=7672,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9376)|0)){e=9376,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));hp(9376)}return 9376}function Jv(e){return e=e|0,0}function Qv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=D1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],ap(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(dp(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function ap(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function dp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=pp(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,Zv(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],ap(l,o,r),t[y>>2]=(t[y>>2]|0)+12,eg(e,_),tg(_),h=k;return}}function pp(e){return e=e|0,357913941}function Zv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function eg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function tg(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function hp(e){e=e|0,rg(e)}function Jc(e){e=e|0,ng(e+24|0)}function ng(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function rg(e){e=e|0;var n=0;n=An()|0,Nn(e,2,5,n,mp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function mp(){return 1196}function ig(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r+8|0,s=r,l=og(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=ug(n,o)|0,h=r,n|0}function og(e){return e=e|0,(t[(D1()|0)+24>>2]|0)+(e*12|0)|0}function ug(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),Xc(dc[r&31](e)|0)|0}function sg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],lg(e,r,s,1),h=o}function lg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=E1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=fg(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,cg(l,o)|0,o),h=s}function E1(){var e=0,n=0;if(c[7680]|0||(C1(9412),Bt(31,9412,Q|0)|0,n=7680,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9412)|0)){e=9412,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));C1(9412)}return 9412}function fg(e){return e=e|0,0}function cg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=E1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],rc(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(ag(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function rc(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function ag(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=vp(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,gp(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],rc(l,o,r),t[y>>2]=(t[y>>2]|0)+12,S1(e,_),_p(_),h=k;return}}function vp(e){return e=e|0,357913941}function gp(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function S1(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function _p(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function C1(e){e=e|0,dg(e)}function yp(e){e=e|0,wp(e+24|0)}function wp(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function dg(e){e=e|0;var n=0;n=An()|0,Nn(e,2,6,n,Dp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Dp(){return 1200}function pg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r+8|0,s=r,l=Qc(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=Zc(n,o)|0,h=r,n|0}function Qc(e){return e=e|0,(t[(E1()|0)+24>>2]|0)+(e*12|0)|0}function Zc(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),ea(dc[r&31](e)|0)|0}function ea(e){return e=e|0,e|0}function hg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],T1(e,r,s,0),h=o}function T1(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=ta()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=mg(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,vg(l,o)|0,o),h=s}function ta(){var e=0,n=0;if(c[7688]|0||(Sp(9448),Bt(32,9448,Q|0)|0,n=7688,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9448)|0)){e=9448,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Sp(9448)}return 9448}function mg(e){return e=e|0,0}function vg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=ta()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Ep(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(gg(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Ep(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function gg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=_g(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,yg(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Ep(l,o,r),t[y>>2]=(t[y>>2]|0)+12,wg(e,_),Dg(_),h=k;return}}function _g(e){return e=e|0,357913941}function yg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function wg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Dg(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Sp(e){e=e|0,Cg(e)}function Eg(e){e=e|0,Sg(e+24|0)}function Sg(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Cg(e){e=e|0;var n=0;n=An()|0,Nn(e,2,6,n,Mo()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Mo(){return 1204}function Tg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=o+8|0,l=o,d=xg(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Ll(n,s,r),h=o}function xg(e){return e=e|0,(t[(ta()|0)+24>>2]|0)+(e*12|0)|0}function Ll(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),On(s,r),s=x1(s,r)|0,Bl[o&31](e,s),h=l}function On(e,n){e=e|0,n=n|0}function x1(e,n){return e=e|0,n=n|0,Vi(n)|0}function Vi(e){return e=e|0,e|0}function l0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],kg(e,r,s,0),h=o}function kg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=Eu()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=Ag(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,Og(l,o)|0,o),h=s}function Eu(){var e=0,n=0;if(c[7696]|0||(A1(9484),Bt(33,9484,Q|0)|0,n=7696,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9484)|0)){e=9484,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));A1(9484)}return 9484}function Ag(e){return e=e|0,0}function Og(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=Eu()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Cp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Ig(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Cp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function Ig(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=Pg(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,k1(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Cp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Mg(e,_),rs(_),h=k;return}}function Pg(e){return e=e|0,357913941}function k1(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Mg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function rs(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function A1(e){e=e|0,n0(e)}function na(e){e=e|0,Jr(e+24|0)}function Jr(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function n0(e){e=e|0;var n=0;n=An()|0,Nn(e,2,1,n,Tp()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Tp(){return 1212}function Fg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h+16|0,l=s+8|0,d=s,_=Lg(e)|0,e=t[_+4>>2]|0,t[d>>2]=t[_>>2],t[d+4>>2]=e,t[l>>2]=t[d>>2],t[l+4>>2]=t[d+4>>2],Rg(n,l,r,o),h=s}function Lg(e){return e=e|0,(t[(Eu()|0)+24>>2]|0)+(e*12|0)|0}function Rg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;_=h,h=h+16|0,l=_+1|0,d=_,s=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(s=t[(t[e>>2]|0)+s>>2]|0),On(l,r),l=x1(l,r)|0,Ml(d,o),d=Fl(d,o)|0,X1[s&15](e,l,d),h=_}function Ng(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Bg(e,r,s,1),h=o}function Bg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=O1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=xp(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,ic(l,o)|0,o),h=s}function O1(){var e=0,n=0;if(c[7704]|0||(Ap(9520),Bt(34,9520,Q|0)|0,n=7704,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9520)|0)){e=9520,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Ap(9520)}return 9520}function xp(e){return e=e|0,0}function ic(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=O1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],ra(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(jg(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function ra(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function jg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=kp(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,ia(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],ra(l,o,r),t[y>>2]=(t[y>>2]|0)+12,mo(e,_),Df(_),h=k;return}}function kp(e){return e=e|0,357913941}function ia(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function mo(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Df(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Ap(e){e=e|0,zg(e)}function Ug(e){e=e|0,qg(e+24|0)}function qg(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function zg(e){e=e|0;var n=0;n=An()|0,Nn(e,2,1,n,Wg()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Wg(){return 1224}function Op(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;return s=h,h=h+16|0,l=s+8|0,d=s,_=is(e)|0,e=t[_+4>>2]|0,t[d>>2]=t[_>>2],t[d+4>>2]=e,t[l>>2]=t[d>>2],t[l+4>>2]=t[d+4>>2],o=+jn(n,l,r),h=s,+o}function is(e){return e=e|0,(t[(O1()|0)+24>>2]|0)+(e*12|0)|0}function jn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),ts(s,r),s=ns(s,r)|0,d=+Ol(+uD[o&7](e,s)),h=l,+d}function Ip(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Fo(e,r,s,1),h=o}function Fo(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=oa()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=Hg(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,yr(l,o)|0,o),h=s}function oa(){var e=0,n=0;if(c[7712]|0||(Fp(9556),Bt(35,9556,Q|0)|0,n=7712,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9556)|0)){e=9556,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Fp(9556)}return 9556}function Hg(e){return e=e|0,0}function yr(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=oa()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Pp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Mp(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Pp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function Mp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=ua(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,bg(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Pp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Gg(e,_),Vg(_),h=k;return}}function ua(e){return e=e|0,357913941}function bg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Gg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Vg(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Fp(e){e=e|0,Kg(e)}function Yg(e){e=e|0,$g(e+24|0)}function $g(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Kg(e){e=e|0;var n=0;n=An()|0,Nn(e,2,5,n,Xg()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Xg(){return 1232}function Jg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=Qg(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],r=+Zg(n,s),h=o,+r}function Qg(e){return e=e|0,(t[(oa()|0)+24>>2]|0)+(e*12|0)|0}function Zg(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),+ +Ol(+oD[r&15](e))}function e_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],t_(e,r,s,1),h=o}function t_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=oc()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=n_(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,I1(l,o)|0,o),h=s}function oc(){var e=0,n=0;if(c[7720]|0||(Rp(9592),Bt(36,9592,Q|0)|0,n=7720,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9592)|0)){e=9592,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Rp(9592)}return 9592}function n_(e){return e=e|0,0}function I1(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=oc()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Lp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(r_(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Lp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function r_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=i_(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,q0(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Lp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Yi(e,_),o_(_),h=k;return}}function i_(e){return e=e|0,357913941}function q0(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Yi(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function o_(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Rp(e){e=e|0,s_(e)}function u_(e){e=e|0,Np(e+24|0)}function Np(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function s_(e){e=e|0;var n=0;n=An()|0,Nn(e,2,7,n,l_()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function l_(){return 1276}function f_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r+8|0,s=r,l=Bp(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=c_(n,o)|0,h=r,n|0}function Bp(e){return e=e|0,(t[(oc()|0)+24>>2]|0)+(e*12|0)|0}function c_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;return s=h,h=h+16|0,o=s,r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),Bl[r&31](o,e),o=jp(o)|0,h=s,o|0}function jp(e){e=e|0;var n=0,r=0,o=0,s=0;return s=h,h=h+32|0,n=s+12|0,r=s,o=U0(Up()|0)|0,o?(s1(n,o),l1(r,n),qp(e,r),e=f1(n)|0):e=zp(e)|0,h=s,e|0}function Up(){var e=0;return c[7736]|0||(Wp(9640),Bt(25,9640,Q|0)|0,e=7736,t[e>>2]=1,t[e+4>>2]=0),9640}function qp(e,n){e=e|0,n=n|0,Ef(n,e,e+8|0)|0}function zp(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0;return r=h,h=h+16|0,s=r+4|0,d=r,o=Qo(8)|0,n=o,_=Tt(16)|0,t[_>>2]=t[e>>2],t[_+4>>2]=t[e+4>>2],t[_+8>>2]=t[e+8>>2],t[_+12>>2]=t[e+12>>2],l=n+4|0,t[l>>2]=_,e=Tt(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],P1(e,l,s),t[o>>2]=e,h=r,n|0}function P1(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=Tt(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1244,t[r+12>>2]=n,t[e+4>>2]=r}function a_(e){e=e|0,da(e),Ve(e)}function d_(e){e=e|0,e=t[e+12>>2]|0,e|0&&Ve(e)}function p_(e){e=e|0,Ve(e)}function Ef(e,n,r){return e=e|0,n=n|0,r=r|0,n=h_(t[e>>2]|0,n,r)|0,r=e+4|0,t[(t[r>>2]|0)+8>>2]=n,t[(t[r>>2]|0)+8>>2]|0}function h_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;return o=h,h=h+16|0,s=o,Zo(s),e=Oi(e)|0,r=m_(e,t[n>>2]|0,+L[r>>3])|0,eu(s),h=o,r|0}function m_(e,n,r){e=e|0,n=n|0,r=+r;var o=0;return o=ko(v_()|0)|0,n=jc(n)|0,dl(0,o|0,e|0,n|0,+ +Ko(r))|0}function v_(){var e=0;return c[7728]|0||(g_(9628),e=7728,t[e>>2]=1,t[e+4>>2]=0),9628}function g_(e){e=e|0,Ao(e,__()|0,2)}function __(){return 1264}function Wp(e){e=e|0,Ys(e)}function Hp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],y_(e,r,s,1),h=o}function y_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=M1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=w_(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,D_(l,o)|0,o),h=s}function M1(){var e=0,n=0;if(c[7744]|0||(Gp(9684),Bt(37,9684,Q|0)|0,n=7744,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9684)|0)){e=9684,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Gp(9684)}return 9684}function w_(e){return e=e|0,0}function D_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=M1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],bp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(E_(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function bp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function E_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=S_(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,C_(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],bp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,T_(e,_),x_(_),h=k;return}}function S_(e){return e=e|0,357913941}function C_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function T_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function x_(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Gp(e){e=e|0,O_(e)}function k_(e){e=e|0,A_(e+24|0)}function A_(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function O_(e){e=e|0;var n=0;n=An()|0,Nn(e,2,5,n,I_()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function I_(){return 1280}function P_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=M_(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],r=F_(n,s,r)|0,h=o,r|0}function M_(e){return e=e|0,(t[(M1()|0)+24>>2]|0)+(e*12|0)|0}function F_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return d=h,h=h+32|0,s=d,l=d+16|0,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),ts(l,r),l=ns(l,r)|0,X1[o&15](s,e,l),l=jp(s)|0,h=d,l|0}function L_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],R_(e,r,s,1),h=o}function R_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=F1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=N_(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,B_(l,o)|0,o),h=s}function F1(){var e=0,n=0;if(c[7752]|0||(Kp(9720),Bt(38,9720,Q|0)|0,n=7752,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9720)|0)){e=9720,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Kp(9720)}return 9720}function N_(e){return e=e|0,0}function B_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=F1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Vp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(j_(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Vp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function j_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=L1(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,Yp(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Vp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,$p(e,_),U_(_),h=k;return}}function L1(e){return e=e|0,357913941}function Yp(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function $p(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function U_(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Kp(e){e=e|0,z_(e)}function q_(e){e=e|0,R1(e+24|0)}function R1(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function z_(e){e=e|0;var n=0;n=An()|0,Nn(e,2,8,n,W_()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function W_(){return 1288}function H_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r+8|0,s=r,l=$i(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=N1(n,o)|0,h=r,n|0}function $i(e){return e=e|0,(t[(F1()|0)+24>>2]|0)+(e*12|0)|0}function N1(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),Dd(dc[r&31](e)|0)|0}function b_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],G_(e,r,s,0),h=o}function G_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=B1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=V_(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,j1(l,o)|0,o),h=s}function B1(){var e=0,n=0;if(c[7760]|0||(q1(9756),Bt(39,9756,Q|0)|0,n=7760,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9756)|0)){e=9756,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));q1(9756)}return 9756}function V_(e){return e=e|0,0}function j1(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=B1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Xp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(U1(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Xp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function U1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=Y_(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,$_(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Xp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,K_(e,_),X_(_),h=k;return}}function Y_(e){return e=e|0,357913941}function $_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function K_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function X_(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function q1(e){e=e|0,Z_(e)}function J_(e){e=e|0,Q_(e+24|0)}function Q_(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Z_(e){e=e|0;var n=0;n=An()|0,Nn(e,2,8,n,z1()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function z1(){return 1292}function W1(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=o+8|0,l=o,d=e4(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],t4(n,s,r),h=o}function e4(e){return e=e|0,(t[(B1()|0)+24>>2]|0)+(e*12|0)|0}function t4(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0;l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),wu(s,r),r=+Du(s,r),nD[o&31](e,r),h=l}function n4(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],r4(e,r,s,0),h=o}function r4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=H1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=i4(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,o4(l,o)|0,o),h=s}function H1(){var e=0,n=0;if(c[7768]|0||(Qp(9792),Bt(40,9792,Q|0)|0,n=7768,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9792)|0)){e=9792,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Qp(9792)}return 9792}function i4(e){return e=e|0,0}function o4(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=H1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Jp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(u4(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Jp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function u4(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=s4(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,l4(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Jp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,f4(e,_),c4(_),h=k;return}}function s4(e){return e=e|0,357913941}function l4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function f4(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function c4(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Qp(e){e=e|0,p4(e)}function a4(e){e=e|0,d4(e+24|0)}function d4(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function p4(e){e=e|0;var n=0;n=An()|0,Nn(e,2,1,n,h4()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function h4(){return 1300}function m4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=+o;var s=0,l=0,d=0,_=0;s=h,h=h+16|0,l=s+8|0,d=s,_=v4(e)|0,e=t[_+4>>2]|0,t[d>>2]=t[_>>2],t[d+4>>2]=e,t[l>>2]=t[d>>2],t[l+4>>2]=t[d+4>>2],g4(n,l,r,o),h=s}function v4(e){return e=e|0,(t[(H1()|0)+24>>2]|0)+(e*12|0)|0}function g4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=+o;var s=0,l=0,d=0,_=0;_=h,h=h+16|0,l=_+1|0,d=_,s=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(s=t[(t[e>>2]|0)+s>>2]|0),ts(l,r),l=ns(l,r)|0,wu(d,o),o=+Du(d,o),cD[s&15](e,l,o),h=_}function a(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],p(e,r,s,0),h=o}function p(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=E()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=I(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,B(l,o)|0,o),h=s}function E(){var e=0,n=0;if(c[7776]|0||(nt(9828),Bt(41,9828,Q|0)|0,n=7776,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9828)|0)){e=9828,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));nt(9828)}return 9828}function I(e){return e=e|0,0}function B(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=E()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],G(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(te(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function G(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function te(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=se(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,Ee(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],G(l,o,r),t[y>>2]=(t[y>>2]|0)+12,$e(e,_),Ke(_),h=k;return}}function se(e){return e=e|0,357913941}function Ee(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function $e(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Ke(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function nt(e){e=e|0,an(e)}function Ct(e){e=e|0,Gt(e+24|0)}function Gt(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function an(e){e=e|0;var n=0;n=An()|0,Nn(e,2,7,n,qn()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function qn(){return 1312}function dn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=o+8|0,l=o,d=Yn(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],er(n,s,r),h=o}function Yn(e){return e=e|0,(t[(E()|0)+24>>2]|0)+(e*12|0)|0}function er(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),ts(s,r),s=ns(s,r)|0,Bl[o&31](e,s),h=l}function vo(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Pi(e,r,s,0),h=o}function Pi(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=Mi()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=f0(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,Jo(l,o)|0,o),h=s}function Mi(){var e=0,n=0;if(c[7784]|0||(kw(9864),Bt(42,9864,Q|0)|0,n=7784,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9864)|0)){e=9864,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));kw(9864)}return 9864}function f0(e){return e=e|0,0}function Jo(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=Mi()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Su(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Zp(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Su(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function Zp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=v9(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,g9(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Su(l,o,r),t[y>>2]=(t[y>>2]|0)+12,_9(e,_),y9(_),h=k;return}}function v9(e){return e=e|0,357913941}function g9(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function _9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function y9(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function kw(e){e=e|0,E9(e)}function w9(e){e=e|0,D9(e+24|0)}function D9(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function E9(e){e=e|0;var n=0;n=An()|0,Nn(e,2,8,n,S9()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function S9(){return 1320}function C9(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=o+8|0,l=o,d=T9(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],x9(n,s,r),h=o}function T9(e){return e=e|0,(t[(Mi()|0)+24>>2]|0)+(e*12|0)|0}function x9(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),k9(s,r),s=A9(s,r)|0,Bl[o&31](e,s),h=l}function k9(e,n){e=e|0,n=n|0}function A9(e,n){return e=e|0,n=n|0,O9(n)|0}function O9(e){return e=e|0,e|0}function I9(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],P9(e,r,s,0),h=o}function P9(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=_4()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=M9(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,F9(l,o)|0,o),h=s}function _4(){var e=0,n=0;if(c[7792]|0||(Ow(9900),Bt(43,9900,Q|0)|0,n=7792,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9900)|0)){e=9900,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Ow(9900)}return 9900}function M9(e){return e=e|0,0}function F9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=_4()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Aw(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(L9(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Aw(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function L9(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=R9(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,N9(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Aw(l,o,r),t[y>>2]=(t[y>>2]|0)+12,B9(e,_),j9(_),h=k;return}}function R9(e){return e=e|0,357913941}function N9(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function B9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function j9(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Ow(e){e=e|0,z9(e)}function U9(e){e=e|0,q9(e+24|0)}function q9(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function z9(e){e=e|0;var n=0;n=An()|0,Nn(e,2,22,n,W9()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function W9(){return 1344}function H9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;r=h,h=h+16|0,o=r+8|0,s=r,l=b9(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],G9(n,o),h=r}function b9(e){return e=e|0,(t[(_4()|0)+24>>2]|0)+(e*12|0)|0}function G9(e,n){e=e|0,n=n|0;var r=0;r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),Nl[r&127](e)}function V9(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=y4()|0,e=Y9(r)|0,ur(l,n,s,e,$9(r,o)|0,o)}function y4(){var e=0,n=0;if(c[7800]|0||(Pw(9936),Bt(44,9936,Q|0)|0,n=7800,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9936)|0)){e=9936,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Pw(9936)}return 9936}function Y9(e){return e=e|0,e|0}function $9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=y4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(Iw(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(K9(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function Iw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function K9(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=X9(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,J9(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,Iw(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,Q9(e,s),Z9(s),h=_;return}}function X9(e){return e=e|0,536870911}function J9(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function Q9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Z9(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function Pw(e){e=e|0,nx(e)}function ex(e){e=e|0,tx(e+24|0)}function tx(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function nx(e){e=e|0;var n=0;n=An()|0,Nn(e,1,23,n,Mo()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function rx(e,n){e=e|0,n=n|0,ox(t[(ix(e)|0)>>2]|0,n)}function ix(e){return e=e|0,(t[(y4()|0)+24>>2]|0)+(e<<3)|0}function ox(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,On(o,n),n=x1(o,n)|0,Nl[e&127](n),h=r}function ux(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=w4()|0,e=sx(r)|0,ur(l,n,s,e,lx(r,o)|0,o)}function w4(){var e=0,n=0;if(c[7808]|0||(Fw(9972),Bt(45,9972,Q|0)|0,n=7808,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9972)|0)){e=9972,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Fw(9972)}return 9972}function sx(e){return e=e|0,e|0}function lx(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=w4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(Mw(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(fx(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function Mw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function fx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=cx(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,ax(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,Mw(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,dx(e,s),px(s),h=_;return}}function cx(e){return e=e|0,536870911}function ax(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function dx(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function px(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function Fw(e){e=e|0,vx(e)}function hx(e){e=e|0,mx(e+24|0)}function mx(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function vx(e){e=e|0;var n=0;n=An()|0,Nn(e,1,9,n,gx()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function gx(){return 1348}function _x(e,n){return e=e|0,n=n|0,wx(t[(yx(e)|0)>>2]|0,n)|0}function yx(e){return e=e|0,(t[(w4()|0)+24>>2]|0)+(e<<3)|0}function wx(e,n){e=e|0,n=n|0;var r=0,o=0;return r=h,h=h+16|0,o=r,Lw(o,n),n=Rw(o,n)|0,n=Xc(dc[e&31](n)|0)|0,h=r,n|0}function Lw(e,n){e=e|0,n=n|0}function Rw(e,n){return e=e|0,n=n|0,Dx(n)|0}function Dx(e){return e=e|0,e|0}function Ex(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=D4()|0,e=Sx(r)|0,ur(l,n,s,e,Cx(r,o)|0,o)}function D4(){var e=0,n=0;if(c[7816]|0||(Bw(10008),Bt(46,10008,Q|0)|0,n=7816,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10008)|0)){e=10008,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Bw(10008)}return 10008}function Sx(e){return e=e|0,e|0}function Cx(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=D4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(Nw(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(Tx(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function Nw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function Tx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=xx(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,kx(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,Nw(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,Ax(e,s),Ox(s),h=_;return}}function xx(e){return e=e|0,536870911}function kx(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function Ax(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Ox(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function Bw(e){e=e|0,Mx(e)}function Ix(e){e=e|0,Px(e+24|0)}function Px(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function Mx(e){e=e|0;var n=0;n=An()|0,Nn(e,1,15,n,mp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Fx(e){return e=e|0,Rx(t[(Lx(e)|0)>>2]|0)|0}function Lx(e){return e=e|0,(t[(D4()|0)+24>>2]|0)+(e<<3)|0}function Rx(e){return e=e|0,Xc(ph[e&7]()|0)|0}function Nx(){var e=0;return c[7832]|0||(bx(10052),Bt(25,10052,Q|0)|0,e=7832,t[e>>2]=1,t[e+4>>2]=0),10052}function Bx(e,n){e=e|0,n=n|0,t[e>>2]=jx()|0,t[e+4>>2]=Ux()|0,t[e+12>>2]=n,t[e+8>>2]=qx()|0,t[e+32>>2]=2}function jx(){return 11709}function Ux(){return 1188}function qx(){return eh()|0}function zx(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(Wx(r),Ve(r)):n|0&&(mu(n),Ve(n))}function Sf(e,n){return e=e|0,n=n|0,n&e|0}function Wx(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function eh(){var e=0;return c[7824]|0||(t[2511]=Hx()|0,t[2512]=0,e=7824,t[e>>2]=1,t[e+4>>2]=0),10044}function Hx(){return 0}function bx(e){e=e|0,Ys(e)}function Gx(e){e=e|0;var n=0,r=0,o=0,s=0,l=0;n=h,h=h+32|0,r=n+24|0,l=n+16|0,s=n+8|0,o=n,Vx(e,4827),Yx(e,4834,3)|0,$x(e,3682,47)|0,t[l>>2]=9,t[l+4>>2]=0,t[r>>2]=t[l>>2],t[r+4>>2]=t[l+4>>2],Kx(e,4841,r)|0,t[s>>2]=1,t[s+4>>2]=0,t[r>>2]=t[s>>2],t[r+4>>2]=t[s+4>>2],Xx(e,4871,r)|0,t[o>>2]=10,t[o+4>>2]=0,t[r>>2]=t[o>>2],t[r+4>>2]=t[o+4>>2],Jx(e,4891,r)|0,h=n}function Vx(e,n){e=e|0,n=n|0;var r=0;r=Ok()|0,t[e>>2]=r,Ik(r,n),Cf(t[e>>2]|0)}function Yx(e,n,r){return e=e|0,n=n|0,r=r|0,pk(e,Zn(n)|0,r,0),e|0}function $x(e,n,r){return e=e|0,n=n|0,r=r|0,Q7(e,Zn(n)|0,r,0),e|0}function Kx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],F7(e,n,s),h=o,e|0}function Xx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],h7(e,n,s),h=o,e|0}function Jx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Qx(e,n,s),h=o,e|0}function Qx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Zx(e,r,s,1),h=o}function Zx(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=E4()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=e7(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,t7(l,o)|0,o),h=s}function E4(){var e=0,n=0;if(c[7840]|0||(Uw(10100),Bt(48,10100,Q|0)|0,n=7840,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10100)|0)){e=10100,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Uw(10100)}return 10100}function e7(e){return e=e|0,0}function t7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=E4()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],jw(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(n7(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function jw(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function n7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=r7(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,i7(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],jw(l,o,r),t[y>>2]=(t[y>>2]|0)+12,o7(e,_),u7(_),h=k;return}}function r7(e){return e=e|0,357913941}function i7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function o7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function u7(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Uw(e){e=e|0,f7(e)}function s7(e){e=e|0,l7(e+24|0)}function l7(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function f7(e){e=e|0;var n=0;n=An()|0,Nn(e,2,6,n,c7()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function c7(){return 1364}function a7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=d7(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],r=p7(n,s,r)|0,h=o,r|0}function d7(e){return e=e|0,(t[(E4()|0)+24>>2]|0)+(e*12|0)|0}function p7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;return l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),ts(s,r),s=ns(s,r)|0,s=ip(J4[o&15](e,s)|0)|0,h=l,s|0}function h7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],m7(e,r,s,0),h=o}function m7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=S4()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=v7(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,g7(l,o)|0,o),h=s}function S4(){var e=0,n=0;if(c[7848]|0||(zw(10136),Bt(49,10136,Q|0)|0,n=7848,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10136)|0)){e=10136,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));zw(10136)}return 10136}function v7(e){return e=e|0,0}function g7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=S4()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],qw(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(_7(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function qw(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function _7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=y7(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,w7(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],qw(l,o,r),t[y>>2]=(t[y>>2]|0)+12,D7(e,_),E7(_),h=k;return}}function y7(e){return e=e|0,357913941}function w7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function D7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function E7(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function zw(e){e=e|0,T7(e)}function S7(e){e=e|0,C7(e+24|0)}function C7(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function T7(e){e=e|0;var n=0;n=An()|0,Nn(e,2,9,n,x7()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function x7(){return 1372}function k7(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=o+8|0,l=o,d=A7(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],O7(n,s,r),h=o}function A7(e){return e=e|0,(t[(S4()|0)+24>>2]|0)+(e*12|0)|0}function O7(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0,d=tt;l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),I7(s,r),d=w(P7(s,r)),tD[o&1](e,d),h=l}function I7(e,n){e=e|0,n=+n}function P7(e,n){return e=e|0,n=+n,w(M7(n))}function M7(e){return e=+e,w(e)}function F7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],L7(e,r,s,0),h=o}function L7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=C4()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=R7(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,N7(l,o)|0,o),h=s}function C4(){var e=0,n=0;if(c[7856]|0||(Hw(10172),Bt(50,10172,Q|0)|0,n=7856,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10172)|0)){e=10172,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Hw(10172)}return 10172}function R7(e){return e=e|0,0}function N7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=C4()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Ww(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(B7(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Ww(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function B7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=j7(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,U7(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Ww(l,o,r),t[y>>2]=(t[y>>2]|0)+12,q7(e,_),z7(_),h=k;return}}function j7(e){return e=e|0,357913941}function U7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function q7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function z7(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Hw(e){e=e|0,b7(e)}function W7(e){e=e|0,H7(e+24|0)}function H7(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function b7(e){e=e|0;var n=0;n=An()|0,Nn(e,2,3,n,G7()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function G7(){return 1380}function V7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h+16|0,l=s+8|0,d=s,_=Y7(e)|0,e=t[_+4>>2]|0,t[d>>2]=t[_>>2],t[d+4>>2]=e,t[l>>2]=t[d>>2],t[l+4>>2]=t[d+4>>2],$7(n,l,r,o),h=s}function Y7(e){return e=e|0,(t[(C4()|0)+24>>2]|0)+(e*12|0)|0}function $7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;_=h,h=h+16|0,l=_+1|0,d=_,s=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(s=t[(t[e>>2]|0)+s>>2]|0),ts(l,r),l=ns(l,r)|0,K7(d,o),d=X7(d,o)|0,X1[s&15](e,l,d),h=_}function K7(e,n){e=e|0,n=n|0}function X7(e,n){return e=e|0,n=n|0,J7(n)|0}function J7(e){return e=e|0,(e|0)!=0|0}function Q7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=T4()|0,e=Z7(r)|0,ur(l,n,s,e,ek(r,o)|0,o)}function T4(){var e=0,n=0;if(c[7864]|0||(Gw(10208),Bt(51,10208,Q|0)|0,n=7864,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10208)|0)){e=10208,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Gw(10208)}return 10208}function Z7(e){return e=e|0,e|0}function ek(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=T4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(bw(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(tk(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function bw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function tk(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=nk(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,rk(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,bw(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,ik(e,s),ok(s),h=_;return}}function nk(e){return e=e|0,536870911}function rk(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function ik(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function ok(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function Gw(e){e=e|0,lk(e)}function uk(e){e=e|0,sk(e+24|0)}function sk(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function lk(e){e=e|0;var n=0;n=An()|0,Nn(e,1,24,n,fk()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function fk(){return 1392}function ck(e,n){e=e|0,n=n|0,dk(t[(ak(e)|0)>>2]|0,n)}function ak(e){return e=e|0,(t[(T4()|0)+24>>2]|0)+(e<<3)|0}function dk(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,Lw(o,n),n=Rw(o,n)|0,Nl[e&127](n),h=r}function pk(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=x4()|0,e=hk(r)|0,ur(l,n,s,e,mk(r,o)|0,o)}function x4(){var e=0,n=0;if(c[7872]|0||(Yw(10244),Bt(52,10244,Q|0)|0,n=7872,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10244)|0)){e=10244,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Yw(10244)}return 10244}function hk(e){return e=e|0,e|0}function mk(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=x4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(Vw(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(vk(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function Vw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function vk(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=gk(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,_k(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,Vw(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,yk(e,s),wk(s),h=_;return}}function gk(e){return e=e|0,536870911}function _k(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function yk(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function wk(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function Yw(e){e=e|0,Sk(e)}function Dk(e){e=e|0,Ek(e+24|0)}function Ek(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function Sk(e){e=e|0;var n=0;n=An()|0,Nn(e,1,16,n,Ck()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Ck(){return 1400}function Tk(e){return e=e|0,kk(t[(xk(e)|0)>>2]|0)|0}function xk(e){return e=e|0,(t[(x4()|0)+24>>2]|0)+(e<<3)|0}function kk(e){return e=e|0,Ak(ph[e&7]()|0)|0}function Ak(e){return e=e|0,e|0}function Ok(){var e=0;return c[7880]|0||(Nk(10280),Bt(25,10280,Q|0)|0,e=7880,t[e>>2]=1,t[e+4>>2]=0),10280}function Ik(e,n){e=e|0,n=n|0,t[e>>2]=Pk()|0,t[e+4>>2]=Mk()|0,t[e+12>>2]=n,t[e+8>>2]=Fk()|0,t[e+32>>2]=4}function Pk(){return 11711}function Mk(){return 1356}function Fk(){return eh()|0}function Lk(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(Rk(r),Ve(r)):n|0&&(Gi(n),Ve(n))}function Rk(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function Nk(e){e=e|0,Ys(e)}function Bk(e){e=e|0,jk(e,4920),Uk(e)|0,qk(e)|0}function jk(e,n){e=e|0,n=n|0;var r=0;r=Up()|0,t[e>>2]=r,sA(r,n),Cf(t[e>>2]|0)}function Uk(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,Jk()|0),e|0}function qk(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,zk()|0),e|0}function zk(){var e=0;return c[7888]|0||($w(10328),Bt(53,10328,Q|0)|0,e=7888,t[e>>2]=1,t[e+4>>2]=0),Dn(10328)|0||$w(10328),10328}function uc(e,n){e=e|0,n=n|0,ur(e,0,n,0,0,0)}function $w(e){e=e|0,bk(e),sc(e,10)}function Wk(e){e=e|0,Hk(e+24|0)}function Hk(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function bk(e){e=e|0;var n=0;n=An()|0,Nn(e,5,1,n,$k()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Gk(e,n,r){e=e|0,n=n|0,r=+r,Vk(e,n,r)}function sc(e,n){e=e|0,n=n|0,t[e+20>>2]=n}function Vk(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,l=o+8|0,_=o+13|0,s=o,d=o+12|0,ts(_,n),t[l>>2]=ns(_,n)|0,wu(d,r),L[s>>3]=+Du(d,r),Yk(e,l,s),h=o}function Yk(e,n,r){e=e|0,n=n|0,r=r|0,M(e+8|0,t[n>>2]|0,+L[r>>3]),c[e+24>>0]=1}function $k(){return 1404}function Kk(e,n){return e=e|0,n=+n,Xk(e,n)|0}function Xk(e,n){e=e|0,n=+n;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return o=h,h=h+16|0,l=o+4|0,d=o+8|0,_=o,s=Qo(8)|0,r=s,y=Tt(16)|0,ts(l,e),e=ns(l,e)|0,wu(d,n),M(y,e,+Du(d,n)),d=r+4|0,t[d>>2]=y,e=Tt(8)|0,d=t[d>>2]|0,t[_>>2]=0,t[l>>2]=t[_>>2],P1(e,d,l),t[s>>2]=e,h=o,r|0}function Jk(){var e=0;return c[7896]|0||(Kw(10364),Bt(54,10364,Q|0)|0,e=7896,t[e>>2]=1,t[e+4>>2]=0),Dn(10364)|0||Kw(10364),10364}function Kw(e){e=e|0,eA(e),sc(e,55)}function Qk(e){e=e|0,Zk(e+24|0)}function Zk(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function eA(e){e=e|0;var n=0;n=An()|0,Nn(e,5,4,n,iA()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function tA(e){e=e|0,nA(e)}function nA(e){e=e|0,rA(e)}function rA(e){e=e|0,Xw(e+8|0),c[e+24>>0]=1}function Xw(e){e=e|0,t[e>>2]=0,L[e+8>>3]=0}function iA(){return 1424}function oA(){return uA()|0}function uA(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0;return n=h,h=h+16|0,s=n+4|0,d=n,r=Qo(8)|0,e=r,o=Tt(16)|0,Xw(o),l=e+4|0,t[l>>2]=o,o=Tt(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],P1(o,l,s),t[r>>2]=o,h=n,e|0}function sA(e,n){e=e|0,n=n|0,t[e>>2]=lA()|0,t[e+4>>2]=fA()|0,t[e+12>>2]=n,t[e+8>>2]=cA()|0,t[e+32>>2]=5}function lA(){return 11710}function fA(){return 1416}function cA(){return th()|0}function aA(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(dA(r),Ve(r)):n|0&&Ve(n)}function dA(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function th(){var e=0;return c[7904]|0||(t[2600]=pA()|0,t[2601]=0,e=7904,t[e>>2]=1,t[e+4>>2]=0),10400}function pA(){return t[357]|0}function hA(e){e=e|0,mA(e,4926),vA(e)|0}function mA(e,n){e=e|0,n=n|0;var r=0;r=u1()|0,t[e>>2]=r,kA(r,n),Cf(t[e>>2]|0)}function vA(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,gA()|0),e|0}function gA(){var e=0;return c[7912]|0||(Jw(10412),Bt(56,10412,Q|0)|0,e=7912,t[e>>2]=1,t[e+4>>2]=0),Dn(10412)|0||Jw(10412),10412}function Jw(e){e=e|0,wA(e),sc(e,57)}function _A(e){e=e|0,yA(e+24|0)}function yA(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function wA(e){e=e|0;var n=0;n=An()|0,Nn(e,5,5,n,CA()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function DA(e){e=e|0,EA(e)}function EA(e){e=e|0,SA(e)}function SA(e){e=e|0;var n=0,r=0;n=e+8|0,r=n+48|0;do t[n>>2]=0,n=n+4|0;while((n|0)<(r|0));c[e+56>>0]=1}function CA(){return 1432}function TA(){return xA()|0}function xA(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0,_=0;d=h,h=h+16|0,e=d+4|0,n=d,r=Qo(8)|0,o=r,s=Tt(48)|0,l=s,_=l+48|0;do t[l>>2]=0,l=l+4|0;while((l|0)<(_|0));return l=o+4|0,t[l>>2]=s,_=Tt(8)|0,l=t[l>>2]|0,t[n>>2]=0,t[e>>2]=t[n>>2],Wd(_,l,e),t[r>>2]=_,h=d,o|0}function kA(e,n){e=e|0,n=n|0,t[e>>2]=AA()|0,t[e+4>>2]=OA()|0,t[e+12>>2]=n,t[e+8>>2]=IA()|0,t[e+32>>2]=6}function AA(){return 11704}function OA(){return 1436}function IA(){return th()|0}function PA(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(MA(r),Ve(r)):n|0&&Ve(n)}function MA(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function FA(e){e=e|0,LA(e,4933),RA(e)|0,NA(e)|0}function LA(e,n){e=e|0,n=n|0;var r=0;r=uO()|0,t[e>>2]=r,sO(r,n),Cf(t[e>>2]|0)}function RA(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,XA()|0),e|0}function NA(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,BA()|0),e|0}function BA(){var e=0;return c[7920]|0||(Qw(10452),Bt(58,10452,Q|0)|0,e=7920,t[e>>2]=1,t[e+4>>2]=0),Dn(10452)|0||Qw(10452),10452}function Qw(e){e=e|0,qA(e),sc(e,1)}function jA(e){e=e|0,UA(e+24|0)}function UA(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function qA(e){e=e|0;var n=0;n=An()|0,Nn(e,5,1,n,bA()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function zA(e,n,r){e=e|0,n=+n,r=+r,WA(e,n,r)}function WA(e,n,r){e=e|0,n=+n,r=+r;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+32|0,l=o+8|0,_=o+17|0,s=o,d=o+16|0,wu(_,n),L[l>>3]=+Du(_,n),wu(d,r),L[s>>3]=+Du(d,r),HA(e,l,s),h=o}function HA(e,n,r){e=e|0,n=n|0,r=r|0,Zw(e+8|0,+L[n>>3],+L[r>>3]),c[e+24>>0]=1}function Zw(e,n,r){e=e|0,n=+n,r=+r,L[e>>3]=n,L[e+8>>3]=r}function bA(){return 1472}function GA(e,n){return e=+e,n=+n,VA(e,n)|0}function VA(e,n){e=+e,n=+n;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return o=h,h=h+16|0,d=o+4|0,_=o+8|0,y=o,s=Qo(8)|0,r=s,l=Tt(16)|0,wu(d,e),e=+Du(d,e),wu(_,n),Zw(l,e,+Du(_,n)),_=r+4|0,t[_>>2]=l,l=Tt(8)|0,_=t[_>>2]|0,t[y>>2]=0,t[d>>2]=t[y>>2],e8(l,_,d),t[s>>2]=l,h=o,r|0}function e8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=Tt(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1452,t[r+12>>2]=n,t[e+4>>2]=r}function YA(e){e=e|0,da(e),Ve(e)}function $A(e){e=e|0,e=t[e+12>>2]|0,e|0&&Ve(e)}function KA(e){e=e|0,Ve(e)}function XA(){var e=0;return c[7928]|0||(t8(10488),Bt(59,10488,Q|0)|0,e=7928,t[e>>2]=1,t[e+4>>2]=0),Dn(10488)|0||t8(10488),10488}function t8(e){e=e|0,ZA(e),sc(e,60)}function JA(e){e=e|0,QA(e+24|0)}function QA(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function ZA(e){e=e|0;var n=0;n=An()|0,Nn(e,5,6,n,rO()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function eO(e){e=e|0,tO(e)}function tO(e){e=e|0,nO(e)}function nO(e){e=e|0,n8(e+8|0),c[e+24>>0]=1}function n8(e){e=e|0,t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,t[e+12>>2]=0}function rO(){return 1492}function iO(){return oO()|0}function oO(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0;return n=h,h=h+16|0,s=n+4|0,d=n,r=Qo(8)|0,e=r,o=Tt(16)|0,n8(o),l=e+4|0,t[l>>2]=o,o=Tt(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],e8(o,l,s),t[r>>2]=o,h=n,e|0}function uO(){var e=0;return c[7936]|0||(pO(10524),Bt(25,10524,Q|0)|0,e=7936,t[e>>2]=1,t[e+4>>2]=0),10524}function sO(e,n){e=e|0,n=n|0,t[e>>2]=lO()|0,t[e+4>>2]=fO()|0,t[e+12>>2]=n,t[e+8>>2]=cO()|0,t[e+32>>2]=7}function lO(){return 11700}function fO(){return 1484}function cO(){return th()|0}function aO(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(dO(r),Ve(r)):n|0&&Ve(n)}function dO(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function pO(e){e=e|0,Ys(e)}function hO(e,n,r){e=e|0,n=n|0,r=r|0,e=Zn(n)|0,n=mO(r)|0,r=vO(r,0)|0,VO(e,n,r,k4()|0,0)}function mO(e){return e=e|0,e|0}function vO(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=k4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(i8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(SO(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function k4(){var e=0,n=0;if(c[7944]|0||(r8(10568),Bt(61,10568,Q|0)|0,n=7944,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10568)|0)){e=10568,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));r8(10568)}return 10568}function r8(e){e=e|0,yO(e)}function gO(e){e=e|0,_O(e+24|0)}function _O(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function yO(e){e=e|0;var n=0;n=An()|0,Nn(e,1,17,n,Dp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function wO(e){return e=e|0,EO(t[(DO(e)|0)>>2]|0)|0}function DO(e){return e=e|0,(t[(k4()|0)+24>>2]|0)+(e<<3)|0}function EO(e){return e=e|0,ea(ph[e&7]()|0)|0}function i8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function SO(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=CO(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,TO(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,i8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,xO(e,s),kO(s),h=_;return}}function CO(e){return e=e|0,536870911}function TO(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function xO(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function kO(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function AO(){OO()}function OO(){IO(10604)}function IO(e){e=e|0,PO(e,4955)}function PO(e,n){e=e|0,n=n|0;var r=0;r=MO()|0,t[e>>2]=r,FO(r,n),Cf(t[e>>2]|0)}function MO(){var e=0;return c[7952]|0||(WO(10612),Bt(25,10612,Q|0)|0,e=7952,t[e>>2]=1,t[e+4>>2]=0),10612}function FO(e,n){e=e|0,n=n|0,t[e>>2]=BO()|0,t[e+4>>2]=jO()|0,t[e+12>>2]=n,t[e+8>>2]=UO()|0,t[e+32>>2]=8}function Cf(e){e=e|0;var n=0,r=0;n=h,h=h+16|0,r=n,sa()|0,t[r>>2]=e,LO(10608,r),h=n}function sa(){return c[11714]|0||(t[2652]=0,Bt(62,10608,Q|0)|0,c[11714]=1),10608}function LO(e,n){e=e|0,n=n|0;var r=0;r=Tt(8)|0,t[r+4>>2]=t[n>>2],t[r>>2]=t[e>>2],t[e>>2]=r}function RO(e){e=e|0,NO(e)}function NO(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,Ve(r);while((n|0)!=0);t[e>>2]=0}function BO(){return 11715}function jO(){return 1496}function UO(){return eh()|0}function qO(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(zO(r),Ve(r)):n|0&&Ve(n)}function zO(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function WO(e){e=e|0,Ys(e)}function HO(e,n){e=e|0,n=n|0;var r=0,o=0;sa()|0,r=t[2652]|0;e:do if(r|0){for(;o=t[r+4>>2]|0,!(o|0?(U8(A4(o)|0,e)|0)==0:0);)if(r=t[r>>2]|0,!r)break e;bO(o,n)}while(0)}function A4(e){return e=e|0,t[e+12>>2]|0}function bO(e,n){e=e|0,n=n|0;var r=0;e=e+36|0,r=t[e>>2]|0,r|0&&(Ju(r),Ve(r)),r=Tt(4)|0,ba(r,n),t[e>>2]=r}function O4(){return c[11716]|0||(t[2664]=0,Bt(63,10656,Q|0)|0,c[11716]=1),10656}function o8(){var e=0;return c[11717]|0?e=t[2665]|0:(GO(),t[2665]=1504,c[11717]=1,e=1504),e|0}function GO(){c[11740]|0||(c[11718]=Lt(Lt(8,0)|0,0)|0,c[11719]=Lt(Lt(0,0)|0,0)|0,c[11720]=Lt(Lt(0,16)|0,0)|0,c[11721]=Lt(Lt(8,0)|0,0)|0,c[11722]=Lt(Lt(0,0)|0,0)|0,c[11723]=Lt(Lt(8,0)|0,0)|0,c[11724]=Lt(Lt(0,0)|0,0)|0,c[11725]=Lt(Lt(8,0)|0,0)|0,c[11726]=Lt(Lt(0,0)|0,0)|0,c[11727]=Lt(Lt(8,0)|0,0)|0,c[11728]=Lt(Lt(0,0)|0,0)|0,c[11729]=Lt(Lt(0,0)|0,32)|0,c[11730]=Lt(Lt(0,0)|0,32)|0,c[11740]=1)}function u8(){return 1572}function VO(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,k=0,T=0;l=h,h=h+32|0,T=l+16|0,k=l+12|0,y=l+8|0,_=l+4|0,d=l,t[T>>2]=e,t[k>>2]=n,t[y>>2]=r,t[_>>2]=o,t[d>>2]=s,O4()|0,YO(10656,T,k,y,_,d),h=l}function YO(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0;d=Tt(24)|0,t1(d+4|0,t[n>>2]|0,t[r>>2]|0,t[o>>2]|0,t[s>>2]|0,t[l>>2]|0),t[d>>2]=t[e>>2],t[e>>2]=d}function s8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0,Pe=0,ke=0,qe=0;if(qe=h,h=h+32|0,le=qe+20|0,ie=qe+8|0,Pe=qe+4|0,ke=qe,n=t[n>>2]|0,n|0){we=le+4|0,y=le+8|0,k=ie+4|0,T=ie+8|0,P=ie+8|0,q=le+8|0;do{if(d=n+4|0,_=I4(d)|0,_|0){if(s=b1(_)|0,t[le>>2]=0,t[we>>2]=0,t[y>>2]=0,o=(G1(_)|0)+1|0,$O(le,o),o|0)for(;o=o+-1|0,os(ie,t[s>>2]|0),l=t[we>>2]|0,l>>>0<(t[q>>2]|0)>>>0?(t[l>>2]=t[ie>>2],t[we>>2]=(t[we>>2]|0)+4):P4(le,ie),o;)s=s+4|0;o=V1(_)|0,t[ie>>2]=0,t[k>>2]=0,t[T>>2]=0;e:do if(t[o>>2]|0)for(s=0,l=0;;){if((s|0)==(l|0)?KO(ie,o):(t[s>>2]=t[o>>2],t[k>>2]=(t[k>>2]|0)+4),o=o+4|0,!(t[o>>2]|0))break e;s=t[k>>2]|0,l=t[P>>2]|0}while(0);t[Pe>>2]=nh(d)|0,t[ke>>2]=Dn(_)|0,XO(r,e,Pe,ke,le,ie),M4(ie),Rl(le)}n=t[n>>2]|0}while((n|0)!=0)}h=qe}function I4(e){return e=e|0,t[e+12>>2]|0}function b1(e){return e=e|0,t[e+12>>2]|0}function G1(e){return e=e|0,t[e+16>>2]|0}function $O(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;s=h,h=h+32|0,r=s,o=t[e>>2]|0,(t[e+8>>2]|0)-o>>2>>>0>>0&&(m8(r,n,(t[e+4>>2]|0)-o>>2,e+8|0),v8(e,r),g8(r)),h=s}function P4(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0;if(d=h,h=h+32|0,r=d,o=e+4|0,s=((t[o>>2]|0)-(t[e>>2]|0)>>2)+1|0,l=h8(e)|0,l>>>0>>0)$n(e);else{_=t[e>>2]|0,k=(t[e+8>>2]|0)-_|0,y=k>>1,m8(r,k>>2>>>0>>1>>>0?y>>>0>>0?s:y:l,(t[o>>2]|0)-_>>2,e+8|0),l=r+8|0,t[t[l>>2]>>2]=t[n>>2],t[l>>2]=(t[l>>2]|0)+4,v8(e,r),g8(r),h=d;return}}function V1(e){return e=e|0,t[e+8>>2]|0}function KO(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0;if(d=h,h=h+32|0,r=d,o=e+4|0,s=((t[o>>2]|0)-(t[e>>2]|0)>>2)+1|0,l=p8(e)|0,l>>>0>>0)$n(e);else{_=t[e>>2]|0,k=(t[e+8>>2]|0)-_|0,y=k>>1,mI(r,k>>2>>>0>>1>>>0?y>>>0>>0?s:y:l,(t[o>>2]|0)-_>>2,e+8|0),l=r+8|0,t[t[l>>2]>>2]=t[n>>2],t[l>>2]=(t[l>>2]|0)+4,vI(e,r),gI(r),h=d;return}}function nh(e){return e=e|0,t[e>>2]|0}function XO(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,JO(e,n,r,o,s,l)}function M4(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-o|0)>>>2)<<2)),Ve(r))}function Rl(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-o|0)>>>2)<<2)),Ve(r))}function JO(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0,y=0,k=0,T=0,P=0;d=h,h=h+48|0,T=d+40|0,_=d+32|0,P=d+24|0,y=d+12|0,k=d,Zo(_),e=Oi(e)|0,t[P>>2]=t[n>>2],r=t[r>>2]|0,o=t[o>>2]|0,F4(y,s),QO(k,l),t[T>>2]=t[P>>2],ZO(e,T,r,o,y,k),M4(k),Rl(y),eu(_),h=d}function F4(e,n){e=e|0,n=n|0;var r=0,o=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,o=(t[r>>2]|0)-(t[n>>2]|0)>>2,o|0&&(pI(e,o),hI(e,t[n>>2]|0,t[r>>2]|0,o))}function QO(e,n){e=e|0,n=n|0;var r=0,o=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,o=(t[r>>2]|0)-(t[n>>2]|0)>>2,o|0&&(aI(e,o),dI(e,t[n>>2]|0,t[r>>2]|0,o))}function ZO(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0,y=0,k=0,T=0,P=0;d=h,h=h+32|0,T=d+28|0,P=d+24|0,_=d+12|0,y=d,k=ko(eI()|0)|0,t[P>>2]=t[n>>2],t[T>>2]=t[P>>2],n=lc(T)|0,r=l8(r)|0,o=L4(o)|0,t[_>>2]=t[s>>2],T=s+4|0,t[_+4>>2]=t[T>>2],P=s+8|0,t[_+8>>2]=t[P>>2],t[P>>2]=0,t[T>>2]=0,t[s>>2]=0,s=R4(_)|0,t[y>>2]=t[l>>2],T=l+4|0,t[y+4>>2]=t[T>>2],P=l+8|0,t[y+8>>2]=t[P>>2],t[P>>2]=0,t[T>>2]=0,t[l>>2]=0,qo(0,k|0,e|0,n|0,r|0,o|0,s|0,tI(y)|0)|0,M4(y),Rl(_),h=d}function eI(){var e=0;return c[7968]|0||(fI(10708),e=7968,t[e>>2]=1,t[e+4>>2]=0),10708}function lc(e){return e=e|0,c8(e)|0}function l8(e){return e=e|0,f8(e)|0}function L4(e){return e=e|0,ea(e)|0}function R4(e){return e=e|0,rI(e)|0}function tI(e){return e=e|0,nI(e)|0}function nI(e){e=e|0;var n=0,r=0,o=0;if(o=(t[e+4>>2]|0)-(t[e>>2]|0)|0,r=o>>2,o=Qo(o+4|0)|0,t[o>>2]=r,r|0){n=0;do t[o+4+(n<<2)>>2]=f8(t[(t[e>>2]|0)+(n<<2)>>2]|0)|0,n=n+1|0;while((n|0)!=(r|0))}return o|0}function f8(e){return e=e|0,e|0}function rI(e){e=e|0;var n=0,r=0,o=0;if(o=(t[e+4>>2]|0)-(t[e>>2]|0)|0,r=o>>2,o=Qo(o+4|0)|0,t[o>>2]=r,r|0){n=0;do t[o+4+(n<<2)>>2]=c8((t[e>>2]|0)+(n<<2)|0)|0,n=n+1|0;while((n|0)!=(r|0))}return o|0}function c8(e){e=e|0;var n=0,r=0,o=0,s=0;return s=h,h=h+32|0,n=s+12|0,r=s,o=U0(a8()|0)|0,o?(s1(n,o),l1(r,n),UF(e,r),e=f1(n)|0):e=iI(e)|0,h=s,e|0}function a8(){var e=0;return c[7960]|0||(lI(10664),Bt(25,10664,Q|0)|0,e=7960,t[e>>2]=1,t[e+4>>2]=0),10664}function iI(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0;return r=h,h=h+16|0,s=r+4|0,d=r,o=Qo(8)|0,n=o,_=Tt(4)|0,t[_>>2]=t[e>>2],l=n+4|0,t[l>>2]=_,e=Tt(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],d8(e,l,s),t[o>>2]=e,h=r,n|0}function d8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=Tt(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1656,t[r+12>>2]=n,t[e+4>>2]=r}function oI(e){e=e|0,da(e),Ve(e)}function uI(e){e=e|0,e=t[e+12>>2]|0,e|0&&Ve(e)}function sI(e){e=e|0,Ve(e)}function lI(e){e=e|0,Ys(e)}function fI(e){e=e|0,Ao(e,cI()|0,5)}function cI(){return 1676}function aI(e,n){e=e|0,n=n|0;var r=0;if((p8(e)|0)>>>0>>0&&$n(e),n>>>0>1073741823)_n();else{r=Tt(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function dI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,o=e+4|0,e=r-n|0,(e|0)>0&&(vn(t[o>>2]|0,n|0,e|0)|0,t[o>>2]=(t[o>>2]|0)+(e>>>2<<2))}function p8(e){return e=e|0,1073741823}function pI(e,n){e=e|0,n=n|0;var r=0;if((h8(e)|0)>>>0>>0&&$n(e),n>>>0>1073741823)_n();else{r=Tt(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function hI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,o=e+4|0,e=r-n|0,(e|0)>0&&(vn(t[o>>2]|0,n|0,e|0)|0,t[o>>2]=(t[o>>2]|0)+(e>>>2<<2))}function h8(e){return e=e|0,1073741823}function mI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>1073741823)_n();else{s=Tt(n<<2)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<2)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<2)}function vI(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>2)<<2)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function gI(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&Ve(e)}function m8(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>1073741823)_n();else{s=Tt(n<<2)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<2)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<2)}function v8(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>2)<<2)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function g8(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&Ve(e)}function _I(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0;if(ie=h,h=h+32|0,T=ie+20|0,P=ie+12|0,k=ie+16|0,q=ie+4|0,we=ie,le=ie+8|0,_=o8()|0,l=t[_>>2]|0,d=t[l>>2]|0,d|0)for(y=t[_+8>>2]|0,_=t[_+4>>2]|0;os(T,d),yI(e,T,_,y),l=l+4|0,d=t[l>>2]|0,d;)y=y+1|0,_=_+1|0;if(l=u8()|0,d=t[l>>2]|0,d|0)do os(T,d),t[P>>2]=t[l+4>>2],wI(n,T,P),l=l+8|0,d=t[l>>2]|0;while((d|0)!=0);if(l=t[(sa()|0)>>2]|0,l|0)do n=t[l+4>>2]|0,os(T,t[(la(n)|0)>>2]|0),t[P>>2]=A4(n)|0,DI(r,T,P),l=t[l>>2]|0;while((l|0)!=0);if(os(k,0),l=O4()|0,t[T>>2]=t[k>>2],s8(T,l,s),l=t[(sa()|0)>>2]|0,l|0){e=T+4|0,n=T+8|0,r=T+8|0;do{if(y=t[l+4>>2]|0,os(P,t[(la(y)|0)>>2]|0),EI(q,_8(y)|0),d=t[q>>2]|0,d|0){t[T>>2]=0,t[e>>2]=0,t[n>>2]=0;do os(we,t[(la(t[d+4>>2]|0)|0)>>2]|0),_=t[e>>2]|0,_>>>0<(t[r>>2]|0)>>>0?(t[_>>2]=t[we>>2],t[e>>2]=(t[e>>2]|0)+4):P4(T,we),d=t[d>>2]|0;while((d|0)!=0);SI(o,P,T),Rl(T)}t[le>>2]=t[P>>2],k=y8(y)|0,t[T>>2]=t[le>>2],s8(T,k,s),bd(q),l=t[l>>2]|0}while((l|0)!=0)}h=ie}function yI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,RI(e,n,r,o)}function wI(e,n,r){e=e|0,n=n|0,r=r|0,LI(e,n,r)}function la(e){return e=e|0,e|0}function DI(e,n,r){e=e|0,n=n|0,r=r|0,II(e,n,r)}function _8(e){return e=e|0,e+16|0}function EI(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;if(l=h,h=h+16|0,s=l+8|0,r=l,t[e>>2]=0,o=t[n>>2]|0,t[s>>2]=o,t[r>>2]=e,r=OI(r)|0,o|0){if(o=Tt(12)|0,d=(w8(s)|0)+4|0,e=t[d+4>>2]|0,n=o+4|0,t[n>>2]=t[d>>2],t[n+4>>2]=e,n=t[t[s>>2]>>2]|0,t[s>>2]=n,!n)e=o;else for(n=o;e=Tt(12)|0,y=(w8(s)|0)+4|0,_=t[y+4>>2]|0,d=e+4|0,t[d>>2]=t[y>>2],t[d+4>>2]=_,t[n>>2]=e,d=t[t[s>>2]>>2]|0,t[s>>2]=d,d;)n=e;t[e>>2]=t[r>>2],t[r>>2]=o}h=l}function SI(e,n,r){e=e|0,n=n|0,r=r|0,CI(e,n,r)}function y8(e){return e=e|0,e+24|0}function CI(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+32|0,d=o+24|0,s=o+16|0,_=o+12|0,l=o,Zo(s),e=Oi(e)|0,t[_>>2]=t[n>>2],F4(l,r),t[d>>2]=t[_>>2],TI(e,d,l),Rl(l),eu(s),h=o}function TI(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+32|0,d=o+16|0,_=o+12|0,s=o,l=ko(xI()|0)|0,t[_>>2]=t[n>>2],t[d>>2]=t[_>>2],n=lc(d)|0,t[s>>2]=t[r>>2],d=r+4|0,t[s+4>>2]=t[d>>2],_=r+8|0,t[s+8>>2]=t[_>>2],t[_>>2]=0,t[d>>2]=0,t[r>>2]=0,Ts(0,l|0,e|0,n|0,R4(s)|0)|0,Rl(s),h=o}function xI(){var e=0;return c[7976]|0||(kI(10720),e=7976,t[e>>2]=1,t[e+4>>2]=0),10720}function kI(e){e=e|0,Ao(e,AI()|0,2)}function AI(){return 1732}function OI(e){return e=e|0,t[e>>2]|0}function w8(e){return e=e|0,t[e>>2]|0}function II(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+32|0,l=o+16|0,s=o+8|0,d=o,Zo(s),e=Oi(e)|0,t[d>>2]=t[n>>2],r=t[r>>2]|0,t[l>>2]=t[d>>2],D8(e,l,r),eu(s),h=o}function D8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,l=o+4|0,d=o,s=ko(PI()|0)|0,t[d>>2]=t[n>>2],t[l>>2]=t[d>>2],n=lc(l)|0,Ts(0,s|0,e|0,n|0,l8(r)|0)|0,h=o}function PI(){var e=0;return c[7984]|0||(MI(10732),e=7984,t[e>>2]=1,t[e+4>>2]=0),10732}function MI(e){e=e|0,Ao(e,FI()|0,2)}function FI(){return 1744}function LI(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+32|0,l=o+16|0,s=o+8|0,d=o,Zo(s),e=Oi(e)|0,t[d>>2]=t[n>>2],r=t[r>>2]|0,t[l>>2]=t[d>>2],D8(e,l,r),eu(s),h=o}function RI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h+32|0,d=s+16|0,l=s+8|0,_=s,Zo(l),e=Oi(e)|0,t[_>>2]=t[n>>2],r=c[r>>0]|0,o=c[o>>0]|0,t[d>>2]=t[_>>2],NI(e,d,r,o),eu(l),h=s}function NI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h+16|0,d=s+4|0,_=s,l=ko(BI()|0)|0,t[_>>2]=t[n>>2],t[d>>2]=t[_>>2],n=lc(d)|0,r=fa(r)|0,Bu(0,l|0,e|0,n|0,r|0,fa(o)|0)|0,h=s}function BI(){var e=0;return c[7992]|0||(UI(10744),e=7992,t[e>>2]=1,t[e+4>>2]=0),10744}function fa(e){return e=e|0,jI(e)|0}function jI(e){return e=e|0,e&255|0}function UI(e){e=e|0,Ao(e,qI()|0,3)}function qI(){return 1756}function zI(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;switch(q=h,h=h+32|0,_=q+8|0,y=q+4|0,k=q+20|0,T=q,_1(e,0),o=jF(n)|0,t[_>>2]=0,P=_+4|0,t[P>>2]=0,t[_+8>>2]=0,o<<24>>24){case 0:{c[k>>0]=0,WI(y,r,k),rh(e,y)|0,ei(y);break}case 8:{P=z4(n)|0,c[k>>0]=8,os(T,t[P+4>>2]|0),HI(y,r,k,T,P+8|0),rh(e,y)|0,ei(y);break}case 9:{if(l=z4(n)|0,n=t[l+4>>2]|0,n|0)for(d=_+8|0,s=l+12|0;n=n+-1|0,os(y,t[s>>2]|0),o=t[P>>2]|0,o>>>0<(t[d>>2]|0)>>>0?(t[o>>2]=t[y>>2],t[P>>2]=(t[P>>2]|0)+4):P4(_,y),n;)s=s+4|0;c[k>>0]=9,os(T,t[l+8>>2]|0),bI(y,r,k,T,_),rh(e,y)|0,ei(y);break}default:P=z4(n)|0,c[k>>0]=o,os(T,t[P+4>>2]|0),GI(y,r,k,T),rh(e,y)|0,ei(y)}Rl(_),h=q}function WI(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;o=h,h=h+16|0,s=o,Zo(s),n=Oi(n)|0,iP(e,n,c[r>>0]|0),eu(s),h=o}function rh(e,n){e=e|0,n=n|0;var r=0;return r=t[e>>2]|0,r|0&&ju(r|0),t[e>>2]=t[n>>2],t[n>>2]=0,e|0}function HI(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0;l=h,h=h+32|0,_=l+16|0,d=l+8|0,y=l,Zo(d),n=Oi(n)|0,r=c[r>>0]|0,t[y>>2]=t[o>>2],s=t[s>>2]|0,t[_>>2]=t[y>>2],eP(e,n,r,_,s),eu(d),h=l}function bI(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,k=0;l=h,h=h+32|0,y=l+24|0,d=l+16|0,k=l+12|0,_=l,Zo(d),n=Oi(n)|0,r=c[r>>0]|0,t[k>>2]=t[o>>2],F4(_,s),t[y>>2]=t[k>>2],XI(e,n,r,y,_),Rl(_),eu(d),h=l}function GI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h+32|0,d=s+16|0,l=s+8|0,_=s,Zo(l),n=Oi(n)|0,r=c[r>>0]|0,t[_>>2]=t[o>>2],t[d>>2]=t[_>>2],VI(e,n,r,d),eu(l),h=s}function VI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h+16|0,l=s+4|0,_=s,d=ko(YI()|0)|0,r=fa(r)|0,t[_>>2]=t[o>>2],t[l>>2]=t[_>>2],ih(e,Ts(0,d|0,n|0,r|0,lc(l)|0)|0),h=s}function YI(){var e=0;return c[8e3]|0||($I(10756),e=8e3,t[e>>2]=1,t[e+4>>2]=0),10756}function ih(e,n){e=e|0,n=n|0,_1(e,n)}function $I(e){e=e|0,Ao(e,KI()|0,2)}function KI(){return 1772}function XI(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,k=0;l=h,h=h+32|0,y=l+16|0,k=l+12|0,d=l,_=ko(JI()|0)|0,r=fa(r)|0,t[k>>2]=t[o>>2],t[y>>2]=t[k>>2],o=lc(y)|0,t[d>>2]=t[s>>2],y=s+4|0,t[d+4>>2]=t[y>>2],k=s+8|0,t[d+8>>2]=t[k>>2],t[k>>2]=0,t[y>>2]=0,t[s>>2]=0,ih(e,Bu(0,_|0,n|0,r|0,o|0,R4(d)|0)|0),Rl(d),h=l}function JI(){var e=0;return c[8008]|0||(QI(10768),e=8008,t[e>>2]=1,t[e+4>>2]=0),10768}function QI(e){e=e|0,Ao(e,ZI()|0,3)}function ZI(){return 1784}function eP(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0;l=h,h=h+16|0,_=l+4|0,y=l,d=ko(tP()|0)|0,r=fa(r)|0,t[y>>2]=t[o>>2],t[_>>2]=t[y>>2],o=lc(_)|0,ih(e,Bu(0,d|0,n|0,r|0,o|0,L4(s)|0)|0),h=l}function tP(){var e=0;return c[8016]|0||(nP(10780),e=8016,t[e>>2]=1,t[e+4>>2]=0),10780}function nP(e){e=e|0,Ao(e,rP()|0,3)}function rP(){return 1800}function iP(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=ko(oP()|0)|0,ih(e,sf(0,o|0,n|0,fa(r)|0)|0)}function oP(){var e=0;return c[8024]|0||(uP(10792),e=8024,t[e>>2]=1,t[e+4>>2]=0),10792}function uP(e){e=e|0,Ao(e,sP()|0,1)}function sP(){return 1816}function lP(){fP(),cP(),aP()}function fP(){t[2702]=K8(65536)|0}function cP(){PP(10856)}function aP(){dP(10816)}function dP(e){e=e|0,pP(e,5044),hP(e)|0}function pP(e,n){e=e|0,n=n|0;var r=0;r=a8()|0,t[e>>2]=r,TP(r,n),Cf(t[e>>2]|0)}function hP(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,mP()|0),e|0}function mP(){var e=0;return c[8032]|0||(E8(10820),Bt(64,10820,Q|0)|0,e=8032,t[e>>2]=1,t[e+4>>2]=0),Dn(10820)|0||E8(10820),10820}function E8(e){e=e|0,_P(e),sc(e,25)}function vP(e){e=e|0,gP(e+24|0)}function gP(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function _P(e){e=e|0;var n=0;n=An()|0,Nn(e,5,18,n,EP()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function yP(e,n){e=e|0,n=n|0,wP(e,n)}function wP(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;r=h,h=h+16|0,o=r,s=r+4|0,Ml(s,n),t[o>>2]=Fl(s,n)|0,DP(e,o),h=r}function DP(e,n){e=e|0,n=n|0,S8(e+4|0,t[n>>2]|0),c[e+8>>0]=1}function S8(e,n){e=e|0,n=n|0,t[e>>2]=n}function EP(){return 1824}function SP(e){return e=e|0,CP(e)|0}function CP(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0;return r=h,h=h+16|0,s=r+4|0,d=r,o=Qo(8)|0,n=o,_=Tt(4)|0,Ml(s,e),S8(_,Fl(s,e)|0),l=n+4|0,t[l>>2]=_,e=Tt(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],d8(e,l,s),t[o>>2]=e,h=r,n|0}function Qo(e){e=e|0;var n=0,r=0;return e=e+7&-8,(e>>>0<=32768?(n=t[2701]|0,e>>>0<=(65536-n|0)>>>0):0)?(r=(t[2702]|0)+n|0,t[2701]=n+e,e=r):(e=K8(e+8|0)|0,t[e>>2]=t[2703],t[2703]=e,e=e+8|0),e|0}function TP(e,n){e=e|0,n=n|0,t[e>>2]=xP()|0,t[e+4>>2]=kP()|0,t[e+12>>2]=n,t[e+8>>2]=AP()|0,t[e+32>>2]=9}function xP(){return 11744}function kP(){return 1832}function AP(){return th()|0}function OP(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(IP(r),Ve(r)):n|0&&Ve(n)}function IP(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function PP(e){e=e|0,MP(e,5052),FP(e)|0,LP(e,5058,26)|0,RP(e,5069,1)|0,NP(e,5077,10)|0,BP(e,5087,19)|0,jP(e,5094,27)|0}function MP(e,n){e=e|0,n=n|0;var r=0;r=IF()|0,t[e>>2]=r,PF(r,n),Cf(t[e>>2]|0)}function FP(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,vF()|0),e|0}function LP(e,n,r){return e=e|0,n=n|0,r=r|0,QM(e,Zn(n)|0,r,0),e|0}function RP(e,n,r){return e=e|0,n=n|0,r=r|0,BM(e,Zn(n)|0,r,0),e|0}function NP(e,n,r){return e=e|0,n=n|0,r=r|0,mM(e,Zn(n)|0,r,0),e|0}function BP(e,n,r){return e=e|0,n=n|0,r=r|0,eM(e,Zn(n)|0,r,0),e|0}function C8(e,n){e=e|0,n=n|0;var r=0,o=0;e:for(;;){for(r=t[2703]|0;;){if((r|0)==(n|0))break e;if(o=t[r>>2]|0,t[2703]=o,!r)r=o;else break}Ve(r)}t[2701]=e}function jP(e,n,r){return e=e|0,n=n|0,r=r|0,UP(e,Zn(n)|0,r,0),e|0}function UP(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=N4()|0,e=qP(r)|0,ur(l,n,s,e,zP(r,o)|0,o)}function N4(){var e=0,n=0;if(c[8040]|0||(x8(10860),Bt(65,10860,Q|0)|0,n=8040,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10860)|0)){e=10860,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));x8(10860)}return 10860}function qP(e){return e=e|0,e|0}function zP(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=N4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(T8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(WP(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function T8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function WP(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=HP(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,bP(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,T8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,GP(e,s),VP(s),h=_;return}}function HP(e){return e=e|0,536870911}function bP(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function GP(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function VP(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function x8(e){e=e|0,KP(e)}function YP(e){e=e|0,$P(e+24|0)}function $P(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function KP(e){e=e|0;var n=0;n=An()|0,Nn(e,1,11,n,XP()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function XP(){return 1840}function JP(e,n,r){e=e|0,n=n|0,r=r|0,ZP(t[(QP(e)|0)>>2]|0,n,r)}function QP(e){return e=e|0,(t[(N4()|0)+24>>2]|0)+(e<<3)|0}function ZP(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;o=h,h=h+16|0,l=o+1|0,s=o,Ml(l,n),n=Fl(l,n)|0,Ml(s,r),r=Fl(s,r)|0,Bl[e&31](n,r),h=o}function eM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=B4()|0,e=tM(r)|0,ur(l,n,s,e,nM(r,o)|0,o)}function B4(){var e=0,n=0;if(c[8048]|0||(A8(10896),Bt(66,10896,Q|0)|0,n=8048,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10896)|0)){e=10896,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));A8(10896)}return 10896}function tM(e){return e=e|0,e|0}function nM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=B4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(k8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(rM(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function k8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function rM(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=iM(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,oM(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,k8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,uM(e,s),sM(s),h=_;return}}function iM(e){return e=e|0,536870911}function oM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function uM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function sM(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function A8(e){e=e|0,cM(e)}function lM(e){e=e|0,fM(e+24|0)}function fM(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function cM(e){e=e|0;var n=0;n=An()|0,Nn(e,1,11,n,aM()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function aM(){return 1852}function dM(e,n){return e=e|0,n=n|0,hM(t[(pM(e)|0)>>2]|0,n)|0}function pM(e){return e=e|0,(t[(B4()|0)+24>>2]|0)+(e<<3)|0}function hM(e,n){e=e|0,n=n|0;var r=0,o=0;return r=h,h=h+16|0,o=r,Ml(o,n),n=Fl(o,n)|0,n=ea(dc[e&31](n)|0)|0,h=r,n|0}function mM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=j4()|0,e=vM(r)|0,ur(l,n,s,e,gM(r,o)|0,o)}function j4(){var e=0,n=0;if(c[8056]|0||(I8(10932),Bt(67,10932,Q|0)|0,n=8056,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10932)|0)){e=10932,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));I8(10932)}return 10932}function vM(e){return e=e|0,e|0}function gM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=j4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(O8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(_M(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function O8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function _M(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=yM(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,wM(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,O8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,DM(e,s),EM(s),h=_;return}}function yM(e){return e=e|0,536870911}function wM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function DM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function EM(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function I8(e){e=e|0,TM(e)}function SM(e){e=e|0,CM(e+24|0)}function CM(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function TM(e){e=e|0;var n=0;n=An()|0,Nn(e,1,7,n,xM()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function xM(){return 1860}function kM(e,n,r){return e=e|0,n=n|0,r=r|0,OM(t[(AM(e)|0)>>2]|0,n,r)|0}function AM(e){return e=e|0,(t[(j4()|0)+24>>2]|0)+(e<<3)|0}function OM(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0;return o=h,h=h+32|0,d=o+12|0,l=o+8|0,_=o,y=o+16|0,s=o+4|0,IM(y,n),PM(_,y,n),$s(s,r),r=Ks(s,r)|0,t[d>>2]=t[_>>2],X1[e&15](l,d,r),r=MM(l)|0,ei(l),Xs(s),h=o,r|0}function IM(e,n){e=e|0,n=n|0}function PM(e,n,r){e=e|0,n=n|0,r=r|0,FM(e,r)}function MM(e){return e=e|0,Oi(e)|0}function FM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;s=h,h=h+16|0,r=s,o=n,o&1?(LM(r,0),c0(o|0,r|0)|0,RM(e,r),NM(r)):t[e>>2]=t[n>>2],h=s}function LM(e,n){e=e|0,n=n|0,wd(e,n),t[e+4>>2]=0,c[e+8>>0]=0}function RM(e,n){e=e|0,n=n|0,t[e>>2]=t[n+4>>2]}function NM(e){e=e|0,c[e+8>>0]=0}function BM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=U4()|0,e=jM(r)|0,ur(l,n,s,e,UM(r,o)|0,o)}function U4(){var e=0,n=0;if(c[8064]|0||(M8(10968),Bt(68,10968,Q|0)|0,n=8064,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10968)|0)){e=10968,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));M8(10968)}return 10968}function jM(e){return e=e|0,e|0}function UM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=U4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(P8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(qM(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function P8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function qM(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=zM(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,WM(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,P8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,HM(e,s),bM(s),h=_;return}}function zM(e){return e=e|0,536870911}function WM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function HM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function bM(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function M8(e){e=e|0,YM(e)}function GM(e){e=e|0,VM(e+24|0)}function VM(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function YM(e){e=e|0;var n=0;n=An()|0,Nn(e,1,1,n,$M()|0,5),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function $M(){return 1872}function KM(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,JM(t[(XM(e)|0)>>2]|0,n,r,o,s,l)}function XM(e){return e=e|0,(t[(U4()|0)+24>>2]|0)+(e<<3)|0}function JM(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0,y=0,k=0,T=0,P=0;d=h,h=h+32|0,_=d+16|0,y=d+12|0,k=d+8|0,T=d+4|0,P=d,$s(_,n),n=Ks(_,n)|0,$s(y,r),r=Ks(y,r)|0,$s(k,o),o=Ks(k,o)|0,$s(T,s),s=Ks(T,s)|0,$s(P,l),l=Ks(P,l)|0,eD[e&1](n,r,o,s,l),Xs(P),Xs(T),Xs(k),Xs(y),Xs(_),h=d}function QM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=q4()|0,e=ZM(r)|0,ur(l,n,s,e,eF(r,o)|0,o)}function q4(){var e=0,n=0;if(c[8072]|0||(L8(11004),Bt(69,11004,Q|0)|0,n=8072,t[n>>2]=1,t[n+4>>2]=0),!(Dn(11004)|0)){e=11004,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));L8(11004)}return 11004}function ZM(e){return e=e|0,e|0}function eF(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=q4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(F8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(tF(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function F8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function tF(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=nF(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,rF(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,F8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,iF(e,s),oF(s),h=_;return}}function nF(e){return e=e|0,536870911}function rF(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function iF(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function oF(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function L8(e){e=e|0,lF(e)}function uF(e){e=e|0,sF(e+24|0)}function sF(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function lF(e){e=e|0;var n=0;n=An()|0,Nn(e,1,12,n,fF()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function fF(){return 1896}function cF(e,n,r){e=e|0,n=n|0,r=r|0,dF(t[(aF(e)|0)>>2]|0,n,r)}function aF(e){return e=e|0,(t[(q4()|0)+24>>2]|0)+(e<<3)|0}function dF(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;o=h,h=h+16|0,l=o+4|0,s=o,pF(l,n),n=hF(l,n)|0,$s(s,r),r=Ks(s,r)|0,Bl[e&31](n,r),Xs(s),h=o}function pF(e,n){e=e|0,n=n|0}function hF(e,n){return e=e|0,n=n|0,mF(n)|0}function mF(e){return e=e|0,e|0}function vF(){var e=0;return c[8080]|0||(R8(11040),Bt(70,11040,Q|0)|0,e=8080,t[e>>2]=1,t[e+4>>2]=0),Dn(11040)|0||R8(11040),11040}function R8(e){e=e|0,yF(e),sc(e,71)}function gF(e){e=e|0,_F(e+24|0)}function _F(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function yF(e){e=e|0;var n=0;n=An()|0,Nn(e,5,7,n,SF()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function wF(e){e=e|0,DF(e)}function DF(e){e=e|0,EF(e)}function EF(e){e=e|0,c[e+8>>0]=1}function SF(){return 1936}function CF(){return TF()|0}function TF(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0;return n=h,h=h+16|0,s=n+4|0,d=n,r=Qo(8)|0,e=r,l=e+4|0,t[l>>2]=Tt(1)|0,o=Tt(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],xF(o,l,s),t[r>>2]=o,h=n,e|0}function xF(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=Tt(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1916,t[r+12>>2]=n,t[e+4>>2]=r}function kF(e){e=e|0,da(e),Ve(e)}function AF(e){e=e|0,e=t[e+12>>2]|0,e|0&&Ve(e)}function OF(e){e=e|0,Ve(e)}function IF(){var e=0;return c[8088]|0||(BF(11076),Bt(25,11076,Q|0)|0,e=8088,t[e>>2]=1,t[e+4>>2]=0),11076}function PF(e,n){e=e|0,n=n|0,t[e>>2]=MF()|0,t[e+4>>2]=FF()|0,t[e+12>>2]=n,t[e+8>>2]=LF()|0,t[e+32>>2]=10}function MF(){return 11745}function FF(){return 1940}function LF(){return eh()|0}function RF(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(NF(r),Ve(r)):n|0&&Ve(n)}function NF(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function BF(e){e=e|0,Ys(e)}function os(e,n){e=e|0,n=n|0,t[e>>2]=n}function z4(e){return e=e|0,t[e>>2]|0}function jF(e){return e=e|0,c[t[e>>2]>>0]|0}function UF(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,t[o>>2]=t[e>>2],qF(n,o)|0,h=r}function qF(e,n){e=e|0,n=n|0;var r=0;return r=zF(t[e>>2]|0,n)|0,n=e+4|0,t[(t[n>>2]|0)+8>>2]=r,t[(t[n>>2]|0)+8>>2]|0}function zF(e,n){e=e|0,n=n|0;var r=0,o=0;return r=h,h=h+16|0,o=r,Zo(o),e=Oi(e)|0,n=WF(e,t[n>>2]|0)|0,eu(o),h=r,n|0}function Zo(e){e=e|0,t[e>>2]=t[2701],t[e+4>>2]=t[2703]}function WF(e,n){e=e|0,n=n|0;var r=0;return r=ko(HF()|0)|0,sf(0,r|0,e|0,L4(n)|0)|0}function eu(e){e=e|0,C8(t[e>>2]|0,t[e+4>>2]|0)}function HF(){var e=0;return c[8096]|0||(bF(11120),e=8096,t[e>>2]=1,t[e+4>>2]=0),11120}function bF(e){e=e|0,Ao(e,GF()|0,1)}function GF(){return 1948}function VF(){YF()}function YF(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0;if(le=h,h=h+16|0,T=le+4|0,P=le,si(65536,10804,t[2702]|0,10812),r=o8()|0,n=t[r>>2]|0,e=t[n>>2]|0,e|0)for(o=t[r+8>>2]|0,r=t[r+4>>2]|0;As(e|0,C[r>>0]|0|0,c[o>>0]|0),n=n+4|0,e=t[n>>2]|0,e;)o=o+1|0,r=r+1|0;if(e=u8()|0,n=t[e>>2]|0,n|0)do uu(n|0,t[e+4>>2]|0),e=e+8|0,n=t[e>>2]|0;while((n|0)!=0);uu($F()|0,5167),k=sa()|0,e=t[k>>2]|0;e:do if(e|0){do KF(t[e+4>>2]|0),e=t[e>>2]|0;while((e|0)!=0);if(e=t[k>>2]|0,e|0){y=k;do{for(;s=e,e=t[e>>2]|0,s=t[s+4>>2]|0,!!(XF(s)|0);)if(t[P>>2]=y,t[T>>2]=t[P>>2],JF(k,T)|0,!e)break e;if(QF(s),y=t[y>>2]|0,n=N8(s)|0,l=Wo()|0,d=h,h=h+((1*(n<<2)|0)+15&-16)|0,_=h,h=h+((1*(n<<2)|0)+15&-16)|0,n=t[(_8(s)|0)>>2]|0,n|0)for(r=d,o=_;t[r>>2]=t[(la(t[n+4>>2]|0)|0)>>2],t[o>>2]=t[n+8>>2],n=t[n>>2]|0,n;)r=r+4|0,o=o+4|0;ie=la(s)|0,n=ZF(s)|0,r=N8(s)|0,o=eL(s)|0,Is(ie|0,n|0,d|0,_|0,r|0,o|0,A4(s)|0),b0(l|0)}while((e|0)!=0)}}while(0);if(e=t[(O4()|0)>>2]|0,e|0)do ie=e+4|0,k=I4(ie)|0,s=V1(k)|0,l=b1(k)|0,d=(G1(k)|0)+1|0,_=oh(k)|0,y=B8(ie)|0,k=Dn(k)|0,T=nh(ie)|0,P=W4(ie)|0,zo(0,s|0,l|0,d|0,_|0,y|0,k|0,T|0,P|0,H4(ie)|0),e=t[e>>2]|0;while((e|0)!=0);e=t[(sa()|0)>>2]|0;e:do if(e|0){t:for(;;){if(n=t[e+4>>2]|0,n|0?(q=t[(la(n)|0)>>2]|0,we=t[(y8(n)|0)>>2]|0,we|0):0){r=we;do{n=r+4|0,o=I4(n)|0;n:do if(o|0)switch(Dn(o)|0){case 0:break t;case 4:case 3:case 2:{_=V1(o)|0,y=b1(o)|0,k=(G1(o)|0)+1|0,T=oh(o)|0,P=Dn(o)|0,ie=nh(n)|0,zo(q|0,_|0,y|0,k|0,T|0,0,P|0,ie|0,W4(n)|0,H4(n)|0);break n}case 1:{d=V1(o)|0,_=b1(o)|0,y=(G1(o)|0)+1|0,k=oh(o)|0,T=B8(n)|0,P=Dn(o)|0,ie=nh(n)|0,zo(q|0,d|0,_|0,y|0,k|0,T|0,P|0,ie|0,W4(n)|0,H4(n)|0);break n}case 5:{k=V1(o)|0,T=b1(o)|0,P=(G1(o)|0)+1|0,ie=oh(o)|0,zo(q|0,k|0,T|0,P|0,ie|0,tL(o)|0,Dn(o)|0,0,0,0);break n}default:break n}while(0);r=t[r>>2]|0}while((r|0)!=0)}if(e=t[e>>2]|0,!e)break e}_n()}while(0);uf(),h=le}function $F(){return 11703}function KF(e){e=e|0,c[e+40>>0]=0}function XF(e){return e=e|0,(c[e+40>>0]|0)!=0|0}function JF(e,n){return e=e|0,n=n|0,n=nL(n)|0,e=t[n>>2]|0,t[n>>2]=t[e>>2],Ve(e),t[n>>2]|0}function QF(e){e=e|0,c[e+40>>0]=1}function N8(e){return e=e|0,t[e+20>>2]|0}function ZF(e){return e=e|0,t[e+8>>2]|0}function eL(e){return e=e|0,t[e+32>>2]|0}function oh(e){return e=e|0,t[e+4>>2]|0}function B8(e){return e=e|0,t[e+4>>2]|0}function W4(e){return e=e|0,t[e+8>>2]|0}function H4(e){return e=e|0,t[e+16>>2]|0}function tL(e){return e=e|0,t[e+20>>2]|0}function nL(e){return e=e|0,t[e>>2]|0}function uh(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0,Pe=0,ke=0,qe=0,pe=0,_e=0,vt=0;vt=h,h=h+16|0,q=vt;do if(e>>>0<245){if(k=e>>>0<11?16:e+11&-8,e=k>>>3,P=t[2783]|0,r=P>>>e,r&3|0)return n=(r&1^1)+e|0,e=11172+(n<<1<<2)|0,r=e+8|0,o=t[r>>2]|0,s=o+8|0,l=t[s>>2]|0,(e|0)==(l|0)?t[2783]=P&~(1<>2]=e,t[r>>2]=l),_e=n<<3,t[o+4>>2]=_e|3,_e=o+_e+4|0,t[_e>>2]=t[_e>>2]|1,_e=s,h=vt,_e|0;if(T=t[2785]|0,k>>>0>T>>>0){if(r|0)return n=2<>>12&16,n=n>>>d,r=n>>>5&8,n=n>>>r,s=n>>>2&4,n=n>>>s,e=n>>>1&2,n=n>>>e,o=n>>>1&1,o=(r|d|s|e|o)+(n>>>o)|0,n=11172+(o<<1<<2)|0,e=n+8|0,s=t[e>>2]|0,d=s+8|0,r=t[d>>2]|0,(n|0)==(r|0)?(e=P&~(1<>2]=n,t[e>>2]=r,e=P),l=(o<<3)-k|0,t[s+4>>2]=k|3,o=s+k|0,t[o+4>>2]=l|1,t[o+l>>2]=l,T|0&&(s=t[2788]|0,n=T>>>3,r=11172+(n<<1<<2)|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=s,t[n+12>>2]=s,t[s+8>>2]=n,t[s+12>>2]=r),t[2785]=l,t[2788]=o,_e=d,h=vt,_e|0;if(_=t[2784]|0,_){if(r=(_&0-_)+-1|0,d=r>>>12&16,r=r>>>d,l=r>>>5&8,r=r>>>l,y=r>>>2&4,r=r>>>y,o=r>>>1&2,r=r>>>o,e=r>>>1&1,e=t[11436+((l|d|y|o|e)+(r>>>e)<<2)>>2]|0,r=(t[e+4>>2]&-8)-k|0,o=t[e+16+(((t[e+16>>2]|0)==0&1)<<2)>>2]|0,!o)y=e,l=r;else{do d=(t[o+4>>2]&-8)-k|0,y=d>>>0>>0,r=y?d:r,e=y?o:e,o=t[o+16+(((t[o+16>>2]|0)==0&1)<<2)>>2]|0;while((o|0)!=0);y=e,l=r}if(d=y+k|0,y>>>0>>0){s=t[y+24>>2]|0,n=t[y+12>>2]|0;do if((n|0)==(y|0)){if(e=y+20|0,n=t[e>>2]|0,!n&&(e=y+16|0,n=t[e>>2]|0,!n)){r=0;break}for(;;){if(r=n+20|0,o=t[r>>2]|0,o|0){n=o,e=r;continue}if(r=n+16|0,o=t[r>>2]|0,o)n=o,e=r;else break}t[e>>2]=0,r=n}else r=t[y+8>>2]|0,t[r+12>>2]=n,t[n+8>>2]=r,r=n;while(0);do if(s|0){if(n=t[y+28>>2]|0,e=11436+(n<<2)|0,(y|0)==(t[e>>2]|0)){if(t[e>>2]=r,!r){t[2784]=_&~(1<>2]|0)!=(y|0)&1)<<2)>>2]=r,!r)break;t[r+24>>2]=s,n=t[y+16>>2]|0,n|0&&(t[r+16>>2]=n,t[n+24>>2]=r),n=t[y+20>>2]|0,n|0&&(t[r+20>>2]=n,t[n+24>>2]=r)}while(0);return l>>>0<16?(_e=l+k|0,t[y+4>>2]=_e|3,_e=y+_e+4|0,t[_e>>2]=t[_e>>2]|1):(t[y+4>>2]=k|3,t[d+4>>2]=l|1,t[d+l>>2]=l,T|0&&(o=t[2788]|0,n=T>>>3,r=11172+(n<<1<<2)|0,n=1<>2]|0):(t[2783]=P|n,n=r,e=r+8|0),t[e>>2]=o,t[n+12>>2]=o,t[o+8>>2]=n,t[o+12>>2]=r),t[2785]=l,t[2788]=d),_e=y+8|0,h=vt,_e|0}else P=k}else P=k}else P=k}else if(e>>>0<=4294967231)if(e=e+11|0,k=e&-8,y=t[2784]|0,y){o=0-k|0,e=e>>>8,e?k>>>0>16777215?_=31:(P=(e+1048320|0)>>>16&8,pe=e<>>16&4,pe=pe<>>16&2,_=14-(T|P|_)+(pe<<_>>>15)|0,_=k>>>(_+7|0)&1|_<<1):_=0,r=t[11436+(_<<2)>>2]|0;e:do if(!r)r=0,e=0,pe=57;else for(e=0,d=k<<((_|0)==31?0:25-(_>>>1)|0),l=0;;){if(s=(t[r+4>>2]&-8)-k|0,s>>>0>>0)if(s)e=r,o=s;else{e=r,o=0,s=r,pe=61;break e}if(s=t[r+20>>2]|0,r=t[r+16+(d>>>31<<2)>>2]|0,l=(s|0)==0|(s|0)==(r|0)?l:s,s=(r|0)==0,s){r=l,pe=57;break}else d=d<<((s^1)&1)}while(0);if((pe|0)==57){if((r|0)==0&(e|0)==0){if(e=2<<_,e=y&(e|0-e),!e){P=k;break}P=(e&0-e)+-1|0,d=P>>>12&16,P=P>>>d,l=P>>>5&8,P=P>>>l,_=P>>>2&4,P=P>>>_,T=P>>>1&2,P=P>>>T,r=P>>>1&1,e=0,r=t[11436+((l|d|_|T|r)+(P>>>r)<<2)>>2]|0}r?(s=r,pe=61):(_=e,d=o)}if((pe|0)==61)for(;;)if(pe=0,r=(t[s+4>>2]&-8)-k|0,P=r>>>0>>0,r=P?r:o,e=P?s:e,s=t[s+16+(((t[s+16>>2]|0)==0&1)<<2)>>2]|0,s)o=r,pe=61;else{_=e,d=r;break}if((_|0)!=0?d>>>0<((t[2785]|0)-k|0)>>>0:0){if(l=_+k|0,_>>>0>=l>>>0)return _e=0,h=vt,_e|0;s=t[_+24>>2]|0,n=t[_+12>>2]|0;do if((n|0)==(_|0)){if(e=_+20|0,n=t[e>>2]|0,!n&&(e=_+16|0,n=t[e>>2]|0,!n)){n=0;break}for(;;){if(r=n+20|0,o=t[r>>2]|0,o|0){n=o,e=r;continue}if(r=n+16|0,o=t[r>>2]|0,o)n=o,e=r;else break}t[e>>2]=0}else _e=t[_+8>>2]|0,t[_e+12>>2]=n,t[n+8>>2]=_e;while(0);do if(s){if(e=t[_+28>>2]|0,r=11436+(e<<2)|0,(_|0)==(t[r>>2]|0)){if(t[r>>2]=n,!n){o=y&~(1<>2]|0)!=(_|0)&1)<<2)>>2]=n,!n){o=y;break}t[n+24>>2]=s,e=t[_+16>>2]|0,e|0&&(t[n+16>>2]=e,t[e+24>>2]=n),e=t[_+20>>2]|0,e&&(t[n+20>>2]=e,t[e+24>>2]=n),o=y}else o=y;while(0);do if(d>>>0>=16){if(t[_+4>>2]=k|3,t[l+4>>2]=d|1,t[l+d>>2]=d,n=d>>>3,d>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=l,t[n+12>>2]=l,t[l+8>>2]=n,t[l+12>>2]=r;break}if(n=d>>>8,n?d>>>0>16777215?n=31:(pe=(n+1048320|0)>>>16&8,_e=n<>>16&4,_e=_e<>>16&2,n=14-(qe|pe|n)+(_e<>>15)|0,n=d>>>(n+7|0)&1|n<<1):n=0,r=11436+(n<<2)|0,t[l+28>>2]=n,e=l+16|0,t[e+4>>2]=0,t[e>>2]=0,e=1<>2]=l,t[l+24>>2]=r,t[l+12>>2]=l,t[l+8>>2]=l;break}for(e=d<<((n|0)==31?0:25-(n>>>1)|0),r=t[r>>2]|0;;){if((t[r+4>>2]&-8|0)==(d|0)){pe=97;break}if(o=r+16+(e>>>31<<2)|0,n=t[o>>2]|0,n)e=e<<1,r=n;else{pe=96;break}}if((pe|0)==96){t[o>>2]=l,t[l+24>>2]=r,t[l+12>>2]=l,t[l+8>>2]=l;break}else if((pe|0)==97){pe=r+8|0,_e=t[pe>>2]|0,t[_e+12>>2]=l,t[pe>>2]=l,t[l+8>>2]=_e,t[l+12>>2]=r,t[l+24>>2]=0;break}}else _e=d+k|0,t[_+4>>2]=_e|3,_e=_+_e+4|0,t[_e>>2]=t[_e>>2]|1;while(0);return _e=_+8|0,h=vt,_e|0}else P=k}else P=k;else P=-1;while(0);if(r=t[2785]|0,r>>>0>=P>>>0)return n=r-P|0,e=t[2788]|0,n>>>0>15?(_e=e+P|0,t[2788]=_e,t[2785]=n,t[_e+4>>2]=n|1,t[_e+n>>2]=n,t[e+4>>2]=P|3):(t[2785]=0,t[2788]=0,t[e+4>>2]=r|3,_e=e+r+4|0,t[_e>>2]=t[_e>>2]|1),_e=e+8|0,h=vt,_e|0;if(d=t[2786]|0,d>>>0>P>>>0)return qe=d-P|0,t[2786]=qe,_e=t[2789]|0,pe=_e+P|0,t[2789]=pe,t[pe+4>>2]=qe|1,t[_e+4>>2]=P|3,_e=_e+8|0,h=vt,_e|0;if(t[2901]|0?e=t[2903]|0:(t[2903]=4096,t[2902]=4096,t[2904]=-1,t[2905]=-1,t[2906]=0,t[2894]=0,e=q&-16^1431655768,t[q>>2]=e,t[2901]=e,e=4096),_=P+48|0,y=P+47|0,l=e+y|0,s=0-e|0,k=l&s,k>>>0<=P>>>0||(e=t[2893]|0,e|0?(T=t[2891]|0,q=T+k|0,q>>>0<=T>>>0|q>>>0>e>>>0):0))return _e=0,h=vt,_e|0;e:do if(t[2894]&4)n=0,pe=133;else{r=t[2789]|0;t:do if(r){for(o=11580;e=t[o>>2]|0,!(e>>>0<=r>>>0?(ie=o+4|0,(e+(t[ie>>2]|0)|0)>>>0>r>>>0):0);)if(e=t[o+8>>2]|0,e)o=e;else{pe=118;break t}if(n=l-d&s,n>>>0<2147483647)if(e=xf(n|0)|0,(e|0)==((t[o>>2]|0)+(t[ie>>2]|0)|0)){if((e|0)!=(-1|0)){d=n,l=e,pe=135;break e}}else o=e,pe=126;else n=0}else pe=118;while(0);do if((pe|0)==118)if(r=xf(0)|0,(r|0)!=(-1|0)?(n=r,we=t[2902]|0,le=we+-1|0,n=((le&n|0)==0?0:(le+n&0-we)-n|0)+k|0,we=t[2891]|0,le=n+we|0,n>>>0>P>>>0&n>>>0<2147483647):0){if(ie=t[2893]|0,ie|0?le>>>0<=we>>>0|le>>>0>ie>>>0:0){n=0;break}if(e=xf(n|0)|0,(e|0)==(r|0)){d=n,l=r,pe=135;break e}else o=e,pe=126}else n=0;while(0);do if((pe|0)==126){if(r=0-n|0,!(_>>>0>n>>>0&(n>>>0<2147483647&(o|0)!=(-1|0))))if((o|0)==(-1|0)){n=0;break}else{d=n,l=o,pe=135;break e}if(e=t[2903]|0,e=y-n+e&0-e,e>>>0>=2147483647){d=n,l=o,pe=135;break e}if((xf(e|0)|0)==(-1|0)){xf(r|0)|0,n=0;break}else{d=e+n|0,l=o,pe=135;break e}}while(0);t[2894]=t[2894]|4,pe=133}while(0);if((((pe|0)==133?k>>>0<2147483647:0)?(qe=xf(k|0)|0,ie=xf(0)|0,Pe=ie-qe|0,ke=Pe>>>0>(P+40|0)>>>0,!((qe|0)==(-1|0)|ke^1|qe>>>0>>0&((qe|0)!=(-1|0)&(ie|0)!=(-1|0))^1)):0)&&(d=ke?Pe:n,l=qe,pe=135),(pe|0)==135){n=(t[2891]|0)+d|0,t[2891]=n,n>>>0>(t[2892]|0)>>>0&&(t[2892]=n),y=t[2789]|0;do if(y){for(n=11580;;){if(e=t[n>>2]|0,r=n+4|0,o=t[r>>2]|0,(l|0)==(e+o|0)){pe=145;break}if(s=t[n+8>>2]|0,s)n=s;else break}if(((pe|0)==145?(t[n+12>>2]&8|0)==0:0)?y>>>0>>0&y>>>0>=e>>>0:0){t[r>>2]=o+d,_e=y+8|0,_e=(_e&7|0)==0?0:0-_e&7,pe=y+_e|0,_e=(t[2786]|0)+(d-_e)|0,t[2789]=pe,t[2786]=_e,t[pe+4>>2]=_e|1,t[pe+_e+4>>2]=40,t[2790]=t[2905];break}for(l>>>0<(t[2787]|0)>>>0&&(t[2787]=l),r=l+d|0,n=11580;;){if((t[n>>2]|0)==(r|0)){pe=153;break}if(e=t[n+8>>2]|0,e)n=e;else break}if((pe|0)==153?(t[n+12>>2]&8|0)==0:0){t[n>>2]=l,T=n+4|0,t[T>>2]=(t[T>>2]|0)+d,T=l+8|0,T=l+((T&7|0)==0?0:0-T&7)|0,n=r+8|0,n=r+((n&7|0)==0?0:0-n&7)|0,k=T+P|0,_=n-T-P|0,t[T+4>>2]=P|3;do if((n|0)!=(y|0)){if((n|0)==(t[2788]|0)){_e=(t[2785]|0)+_|0,t[2785]=_e,t[2788]=k,t[k+4>>2]=_e|1,t[k+_e>>2]=_e;break}if(e=t[n+4>>2]|0,(e&3|0)==1){d=e&-8,o=e>>>3;e:do if(e>>>0<256)if(e=t[n+8>>2]|0,r=t[n+12>>2]|0,(r|0)==(e|0)){t[2783]=t[2783]&~(1<>2]=r,t[r+8>>2]=e;break}else{l=t[n+24>>2]|0,e=t[n+12>>2]|0;do if((e|0)==(n|0)){if(o=n+16|0,r=o+4|0,e=t[r>>2]|0,!e)if(e=t[o>>2]|0,e)r=o;else{e=0;break}for(;;){if(o=e+20|0,s=t[o>>2]|0,s|0){e=s,r=o;continue}if(o=e+16|0,s=t[o>>2]|0,s)e=s,r=o;else break}t[r>>2]=0}else _e=t[n+8>>2]|0,t[_e+12>>2]=e,t[e+8>>2]=_e;while(0);if(!l)break;r=t[n+28>>2]|0,o=11436+(r<<2)|0;do if((n|0)!=(t[o>>2]|0)){if(t[l+16+(((t[l+16>>2]|0)!=(n|0)&1)<<2)>>2]=e,!e)break e}else{if(t[o>>2]=e,e|0)break;t[2784]=t[2784]&~(1<>2]=l,r=n+16|0,o=t[r>>2]|0,o|0&&(t[e+16>>2]=o,t[o+24>>2]=e),r=t[r+4>>2]|0,!r)break;t[e+20>>2]=r,t[r+24>>2]=e}while(0);n=n+d|0,s=d+_|0}else s=_;if(n=n+4|0,t[n>>2]=t[n>>2]&-2,t[k+4>>2]=s|1,t[k+s>>2]=s,n=s>>>3,s>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=k,t[n+12>>2]=k,t[k+8>>2]=n,t[k+12>>2]=r;break}n=s>>>8;do if(!n)n=0;else{if(s>>>0>16777215){n=31;break}pe=(n+1048320|0)>>>16&8,_e=n<>>16&4,_e=_e<>>16&2,n=14-(qe|pe|n)+(_e<>>15)|0,n=s>>>(n+7|0)&1|n<<1}while(0);if(o=11436+(n<<2)|0,t[k+28>>2]=n,e=k+16|0,t[e+4>>2]=0,t[e>>2]=0,e=t[2784]|0,r=1<>2]=k,t[k+24>>2]=o,t[k+12>>2]=k,t[k+8>>2]=k;break}for(e=s<<((n|0)==31?0:25-(n>>>1)|0),r=t[o>>2]|0;;){if((t[r+4>>2]&-8|0)==(s|0)){pe=194;break}if(o=r+16+(e>>>31<<2)|0,n=t[o>>2]|0,n)e=e<<1,r=n;else{pe=193;break}}if((pe|0)==193){t[o>>2]=k,t[k+24>>2]=r,t[k+12>>2]=k,t[k+8>>2]=k;break}else if((pe|0)==194){pe=r+8|0,_e=t[pe>>2]|0,t[_e+12>>2]=k,t[pe>>2]=k,t[k+8>>2]=_e,t[k+12>>2]=r,t[k+24>>2]=0;break}}else _e=(t[2786]|0)+_|0,t[2786]=_e,t[2789]=k,t[k+4>>2]=_e|1;while(0);return _e=T+8|0,h=vt,_e|0}for(n=11580;e=t[n>>2]|0,!(e>>>0<=y>>>0?(_e=e+(t[n+4>>2]|0)|0,_e>>>0>y>>>0):0);)n=t[n+8>>2]|0;s=_e+-47|0,e=s+8|0,e=s+((e&7|0)==0?0:0-e&7)|0,s=y+16|0,e=e>>>0>>0?y:e,n=e+8|0,r=l+8|0,r=(r&7|0)==0?0:0-r&7,pe=l+r|0,r=d+-40-r|0,t[2789]=pe,t[2786]=r,t[pe+4>>2]=r|1,t[pe+r+4>>2]=40,t[2790]=t[2905],r=e+4|0,t[r>>2]=27,t[n>>2]=t[2895],t[n+4>>2]=t[2896],t[n+8>>2]=t[2897],t[n+12>>2]=t[2898],t[2895]=l,t[2896]=d,t[2898]=0,t[2897]=n,n=e+24|0;do pe=n,n=n+4|0,t[n>>2]=7;while((pe+8|0)>>>0<_e>>>0);if((e|0)!=(y|0)){if(l=e-y|0,t[r>>2]=t[r>>2]&-2,t[y+4>>2]=l|1,t[e>>2]=l,n=l>>>3,l>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=y,t[n+12>>2]=y,t[y+8>>2]=n,t[y+12>>2]=r;break}if(n=l>>>8,n?l>>>0>16777215?r=31:(pe=(n+1048320|0)>>>16&8,_e=n<>>16&4,_e=_e<>>16&2,r=14-(qe|pe|r)+(_e<>>15)|0,r=l>>>(r+7|0)&1|r<<1):r=0,o=11436+(r<<2)|0,t[y+28>>2]=r,t[y+20>>2]=0,t[s>>2]=0,n=t[2784]|0,e=1<>2]=y,t[y+24>>2]=o,t[y+12>>2]=y,t[y+8>>2]=y;break}for(e=l<<((r|0)==31?0:25-(r>>>1)|0),r=t[o>>2]|0;;){if((t[r+4>>2]&-8|0)==(l|0)){pe=216;break}if(o=r+16+(e>>>31<<2)|0,n=t[o>>2]|0,n)e=e<<1,r=n;else{pe=215;break}}if((pe|0)==215){t[o>>2]=y,t[y+24>>2]=r,t[y+12>>2]=y,t[y+8>>2]=y;break}else if((pe|0)==216){pe=r+8|0,_e=t[pe>>2]|0,t[_e+12>>2]=y,t[pe>>2]=y,t[y+8>>2]=_e,t[y+12>>2]=r,t[y+24>>2]=0;break}}}else{_e=t[2787]|0,(_e|0)==0|l>>>0<_e>>>0&&(t[2787]=l),t[2895]=l,t[2896]=d,t[2898]=0,t[2792]=t[2901],t[2791]=-1,n=0;do _e=11172+(n<<1<<2)|0,t[_e+12>>2]=_e,t[_e+8>>2]=_e,n=n+1|0;while((n|0)!=32);_e=l+8|0,_e=(_e&7|0)==0?0:0-_e&7,pe=l+_e|0,_e=d+-40-_e|0,t[2789]=pe,t[2786]=_e,t[pe+4>>2]=_e|1,t[pe+_e+4>>2]=40,t[2790]=t[2905]}while(0);if(n=t[2786]|0,n>>>0>P>>>0)return qe=n-P|0,t[2786]=qe,_e=t[2789]|0,pe=_e+P|0,t[2789]=pe,t[pe+4>>2]=qe|1,t[_e+4>>2]=P|3,_e=_e+8|0,h=vt,_e|0}return t[(ca()|0)>>2]=12,_e=0,h=vt,_e|0}function sh(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0;if(!!e){r=e+-8|0,s=t[2787]|0,e=t[e+-4>>2]|0,n=e&-8,y=r+n|0;do if(e&1)_=r,d=r;else{if(o=t[r>>2]|0,!(e&3)||(d=r+(0-o)|0,l=o+n|0,d>>>0>>0))return;if((d|0)==(t[2788]|0)){if(e=y+4|0,n=t[e>>2]|0,(n&3|0)!=3){_=d,n=l;break}t[2785]=l,t[e>>2]=n&-2,t[d+4>>2]=l|1,t[d+l>>2]=l;return}if(r=o>>>3,o>>>0<256)if(e=t[d+8>>2]|0,n=t[d+12>>2]|0,(n|0)==(e|0)){t[2783]=t[2783]&~(1<>2]=n,t[n+8>>2]=e,_=d,n=l;break}s=t[d+24>>2]|0,e=t[d+12>>2]|0;do if((e|0)==(d|0)){if(r=d+16|0,n=r+4|0,e=t[n>>2]|0,!e)if(e=t[r>>2]|0,e)n=r;else{e=0;break}for(;;){if(r=e+20|0,o=t[r>>2]|0,o|0){e=o,n=r;continue}if(r=e+16|0,o=t[r>>2]|0,o)e=o,n=r;else break}t[n>>2]=0}else _=t[d+8>>2]|0,t[_+12>>2]=e,t[e+8>>2]=_;while(0);if(s){if(n=t[d+28>>2]|0,r=11436+(n<<2)|0,(d|0)==(t[r>>2]|0)){if(t[r>>2]=e,!e){t[2784]=t[2784]&~(1<>2]|0)!=(d|0)&1)<<2)>>2]=e,!e){_=d,n=l;break}t[e+24>>2]=s,n=d+16|0,r=t[n>>2]|0,r|0&&(t[e+16>>2]=r,t[r+24>>2]=e),n=t[n+4>>2]|0,n?(t[e+20>>2]=n,t[n+24>>2]=e,_=d,n=l):(_=d,n=l)}else _=d,n=l}while(0);if(!(d>>>0>=y>>>0)&&(e=y+4|0,o=t[e>>2]|0,!!(o&1))){if(o&2)t[e>>2]=o&-2,t[_+4>>2]=n|1,t[d+n>>2]=n,s=n;else{if(e=t[2788]|0,(y|0)==(t[2789]|0)){if(y=(t[2786]|0)+n|0,t[2786]=y,t[2789]=_,t[_+4>>2]=y|1,(_|0)!=(e|0))return;t[2788]=0,t[2785]=0;return}if((y|0)==(e|0)){y=(t[2785]|0)+n|0,t[2785]=y,t[2788]=d,t[_+4>>2]=y|1,t[d+y>>2]=y;return}s=(o&-8)+n|0,r=o>>>3;do if(o>>>0<256)if(n=t[y+8>>2]|0,e=t[y+12>>2]|0,(e|0)==(n|0)){t[2783]=t[2783]&~(1<>2]=e,t[e+8>>2]=n;break}else{l=t[y+24>>2]|0,e=t[y+12>>2]|0;do if((e|0)==(y|0)){if(r=y+16|0,n=r+4|0,e=t[n>>2]|0,!e)if(e=t[r>>2]|0,e)n=r;else{r=0;break}for(;;){if(r=e+20|0,o=t[r>>2]|0,o|0){e=o,n=r;continue}if(r=e+16|0,o=t[r>>2]|0,o)e=o,n=r;else break}t[n>>2]=0,r=e}else r=t[y+8>>2]|0,t[r+12>>2]=e,t[e+8>>2]=r,r=e;while(0);if(l|0){if(e=t[y+28>>2]|0,n=11436+(e<<2)|0,(y|0)==(t[n>>2]|0)){if(t[n>>2]=r,!r){t[2784]=t[2784]&~(1<>2]|0)!=(y|0)&1)<<2)>>2]=r,!r)break;t[r+24>>2]=l,e=y+16|0,n=t[e>>2]|0,n|0&&(t[r+16>>2]=n,t[n+24>>2]=r),e=t[e+4>>2]|0,e|0&&(t[r+20>>2]=e,t[e+24>>2]=r)}}while(0);if(t[_+4>>2]=s|1,t[d+s>>2]=s,(_|0)==(t[2788]|0)){t[2785]=s;return}}if(e=s>>>3,s>>>0<256){r=11172+(e<<1<<2)|0,n=t[2783]|0,e=1<>2]|0):(t[2783]=n|e,e=r,n=r+8|0),t[n>>2]=_,t[e+12>>2]=_,t[_+8>>2]=e,t[_+12>>2]=r;return}e=s>>>8,e?s>>>0>16777215?e=31:(d=(e+1048320|0)>>>16&8,y=e<>>16&4,y=y<>>16&2,e=14-(l|d|e)+(y<>>15)|0,e=s>>>(e+7|0)&1|e<<1):e=0,o=11436+(e<<2)|0,t[_+28>>2]=e,t[_+20>>2]=0,t[_+16>>2]=0,n=t[2784]|0,r=1<>>1)|0),r=t[o>>2]|0;;){if((t[r+4>>2]&-8|0)==(s|0)){e=73;break}if(o=r+16+(n>>>31<<2)|0,e=t[o>>2]|0,e)n=n<<1,r=e;else{e=72;break}}if((e|0)==72){t[o>>2]=_,t[_+24>>2]=r,t[_+12>>2]=_,t[_+8>>2]=_;break}else if((e|0)==73){d=r+8|0,y=t[d>>2]|0,t[y+12>>2]=_,t[d>>2]=_,t[_+8>>2]=y,t[_+12>>2]=r,t[_+24>>2]=0;break}}else t[2784]=n|r,t[o>>2]=_,t[_+24>>2]=o,t[_+12>>2]=_,t[_+8>>2]=_;while(0);if(y=(t[2791]|0)+-1|0,t[2791]=y,!y)e=11588;else return;for(;e=t[e>>2]|0,e;)e=e+8|0;t[2791]=-1}}}function rL(){return 11628}function iL(e){e=e|0;var n=0,r=0;return n=h,h=h+16|0,r=n,t[r>>2]=sL(t[e+60>>2]|0)|0,e=lh(Ms(6,r|0)|0)|0,h=n,e|0}function j8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0;P=h,h=h+48|0,k=P+16|0,l=P,s=P+32|0,_=e+28|0,o=t[_>>2]|0,t[s>>2]=o,y=e+20|0,o=(t[y>>2]|0)-o|0,t[s+4>>2]=o,t[s+8>>2]=n,t[s+12>>2]=r,o=o+r|0,d=e+60|0,t[l>>2]=t[d>>2],t[l+4>>2]=s,t[l+8>>2]=2,l=lh(G0(146,l|0)|0)|0;e:do if((o|0)!=(l|0)){for(n=2;!((l|0)<0);)if(o=o-l|0,we=t[s+4>>2]|0,q=l>>>0>we>>>0,s=q?s+8|0:s,n=(q<<31>>31)+n|0,we=l-(q?we:0)|0,t[s>>2]=(t[s>>2]|0)+we,q=s+4|0,t[q>>2]=(t[q>>2]|0)-we,t[k>>2]=t[d>>2],t[k+4>>2]=s,t[k+8>>2]=n,l=lh(G0(146,k|0)|0)|0,(o|0)==(l|0)){T=3;break e}t[e+16>>2]=0,t[_>>2]=0,t[y>>2]=0,t[e>>2]=t[e>>2]|32,(n|0)==2?r=0:r=r-(t[s+4>>2]|0)|0}else T=3;while(0);return(T|0)==3&&(we=t[e+44>>2]|0,t[e+16>>2]=we+(t[e+48>>2]|0),t[_>>2]=we,t[y>>2]=we),h=P,r|0}function oL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;return s=h,h=h+32|0,l=s,o=s+20|0,t[l>>2]=t[e+60>>2],t[l+4>>2]=0,t[l+8>>2]=n,t[l+12>>2]=o,t[l+16>>2]=r,(lh(Uu(140,l|0)|0)|0)<0?(t[o>>2]=-1,e=-1):e=t[o>>2]|0,h=s,e|0}function lh(e){return e=e|0,e>>>0>4294963200&&(t[(ca()|0)>>2]=0-e,e=-1),e|0}function ca(){return(uL()|0)+64|0}function uL(){return b4()|0}function b4(){return 2084}function sL(e){return e=e|0,e|0}function lL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;return s=h,h=h+32|0,o=s,t[e+36>>2]=1,((t[e>>2]&64|0)==0?(t[o>>2]=t[e+60>>2],t[o+4>>2]=21523,t[o+8>>2]=s+16,su(54,o|0)|0):0)&&(c[e+75>>0]=-1),o=j8(e,n,r)|0,h=s,o|0}function U8(e,n){e=e|0,n=n|0;var r=0,o=0;if(r=c[e>>0]|0,o=c[n>>0]|0,r<<24>>24==0?1:r<<24>>24!=o<<24>>24)e=o;else{do e=e+1|0,n=n+1|0,r=c[e>>0]|0,o=c[n>>0]|0;while(!(r<<24>>24==0?1:r<<24>>24!=o<<24>>24));e=o}return(r&255)-(e&255)|0}function fL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;e:do if(!r)e=0;else{for(;o=c[e>>0]|0,s=c[n>>0]|0,o<<24>>24==s<<24>>24;)if(r=r+-1|0,r)e=e+1|0,n=n+1|0;else{e=0;break e}e=(o&255)-(s&255)|0}while(0);return e|0}function q8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0;ie=h,h=h+224|0,T=ie+120|0,P=ie+80|0,we=ie,le=ie+136|0,o=P,s=o+40|0;do t[o>>2]=0,o=o+4|0;while((o|0)<(s|0));return t[T>>2]=t[r>>2],(G4(0,n,T,we,P)|0)<0?r=-1:((t[e+76>>2]|0)>-1?q=cL(e)|0:q=0,r=t[e>>2]|0,k=r&32,(c[e+74>>0]|0)<1&&(t[e>>2]=r&-33),o=e+48|0,t[o>>2]|0?r=G4(e,n,T,we,P)|0:(s=e+44|0,l=t[s>>2]|0,t[s>>2]=le,d=e+28|0,t[d>>2]=le,_=e+20|0,t[_>>2]=le,t[o>>2]=80,y=e+16|0,t[y>>2]=le+80,r=G4(e,n,T,we,P)|0,l&&(dh[t[e+36>>2]&7](e,0,0)|0,r=(t[_>>2]|0)==0?-1:r,t[s>>2]=l,t[o>>2]=0,t[y>>2]=0,t[d>>2]=0,t[_>>2]=0)),o=t[e>>2]|0,t[e>>2]=o|k,q|0&&aL(e),r=(o&32|0)==0?r:-1),h=ie,r|0}function G4(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0,Pe=0,ke=0,qe=0,pe=0,_e=0,vt=0,Ln=0,Ht=0,It=0,gn=0,Pn=0,zt=0;zt=h,h=h+64|0,Ht=zt+16|0,It=zt,vt=zt+24|0,gn=zt+8|0,Pn=zt+20|0,t[Ht>>2]=n,qe=(e|0)!=0,pe=vt+40|0,_e=pe,vt=vt+39|0,Ln=gn+4|0,d=0,l=0,T=0;e:for(;;){do if((l|0)>-1)if((d|0)>(2147483647-l|0)){t[(ca()|0)>>2]=75,l=-1;break}else{l=d+l|0;break}while(0);if(d=c[n>>0]|0,d<<24>>24)_=n;else{ke=87;break}t:for(;;){switch(d<<24>>24){case 37:{d=_,ke=9;break t}case 0:{d=_;break t}default:}Pe=_+1|0,t[Ht>>2]=Pe,d=c[Pe>>0]|0,_=Pe}t:do if((ke|0)==9)for(;;){if(ke=0,(c[_+1>>0]|0)!=37)break t;if(d=d+1|0,_=_+2|0,t[Ht>>2]=_,(c[_>>0]|0)==37)ke=9;else break}while(0);if(d=d-n|0,qe&&ri(e,n,d),d|0){n=_;continue}y=_+1|0,d=(c[y>>0]|0)+-48|0,d>>>0<10?(Pe=(c[_+2>>0]|0)==36,ie=Pe?d:-1,T=Pe?1:T,y=Pe?_+3|0:y):ie=-1,t[Ht>>2]=y,d=c[y>>0]|0,_=(d<<24>>24)+-32|0;t:do if(_>>>0<32)for(k=0,P=d;;){if(d=1<<_,!(d&75913)){d=P;break t}if(k=d|k,y=y+1|0,t[Ht>>2]=y,d=c[y>>0]|0,_=(d<<24>>24)+-32|0,_>>>0>=32)break;P=d}else k=0;while(0);if(d<<24>>24==42){if(_=y+1|0,d=(c[_>>0]|0)+-48|0,d>>>0<10?(c[y+2>>0]|0)==36:0)t[s+(d<<2)>>2]=10,d=t[o+((c[_>>0]|0)+-48<<3)>>2]|0,T=1,y=y+3|0;else{if(T|0){l=-1;break}qe?(T=(t[r>>2]|0)+(4-1)&~(4-1),d=t[T>>2]|0,t[r>>2]=T+4,T=0,y=_):(d=0,T=0,y=_)}t[Ht>>2]=y,Pe=(d|0)<0,d=Pe?0-d|0:d,k=Pe?k|8192:k}else{if(d=z8(Ht)|0,(d|0)<0){l=-1;break}y=t[Ht>>2]|0}do if((c[y>>0]|0)==46){if((c[y+1>>0]|0)!=42){t[Ht>>2]=y+1,_=z8(Ht)|0,y=t[Ht>>2]|0;break}if(P=y+2|0,_=(c[P>>0]|0)+-48|0,_>>>0<10?(c[y+3>>0]|0)==36:0){t[s+(_<<2)>>2]=10,_=t[o+((c[P>>0]|0)+-48<<3)>>2]|0,y=y+4|0,t[Ht>>2]=y;break}if(T|0){l=-1;break e}qe?(Pe=(t[r>>2]|0)+(4-1)&~(4-1),_=t[Pe>>2]|0,t[r>>2]=Pe+4):_=0,t[Ht>>2]=P,y=P}else _=-1;while(0);for(le=0;;){if(((c[y>>0]|0)+-65|0)>>>0>57){l=-1;break e}if(Pe=y+1|0,t[Ht>>2]=Pe,P=c[(c[y>>0]|0)+-65+(5178+(le*58|0))>>0]|0,q=P&255,(q+-1|0)>>>0<8)le=q,y=Pe;else break}if(!(P<<24>>24)){l=-1;break}we=(ie|0)>-1;do if(P<<24>>24==19)if(we){l=-1;break e}else ke=49;else{if(we){t[s+(ie<<2)>>2]=q,we=o+(ie<<3)|0,ie=t[we+4>>2]|0,ke=It,t[ke>>2]=t[we>>2],t[ke+4>>2]=ie,ke=49;break}if(!qe){l=0;break e}W8(It,q,r)}while(0);if((ke|0)==49?(ke=0,!qe):0){d=0,n=Pe;continue}y=c[y>>0]|0,y=(le|0)!=0&(y&15|0)==3?y&-33:y,we=k&-65537,ie=(k&8192|0)==0?k:we;t:do switch(y|0){case 110:switch((le&255)<<24>>24){case 0:{t[t[It>>2]>>2]=l,d=0,n=Pe;continue e}case 1:{t[t[It>>2]>>2]=l,d=0,n=Pe;continue e}case 2:{d=t[It>>2]|0,t[d>>2]=l,t[d+4>>2]=((l|0)<0)<<31>>31,d=0,n=Pe;continue e}case 3:{g[t[It>>2]>>1]=l,d=0,n=Pe;continue e}case 4:{c[t[It>>2]>>0]=l,d=0,n=Pe;continue e}case 6:{t[t[It>>2]>>2]=l,d=0,n=Pe;continue e}case 7:{d=t[It>>2]|0,t[d>>2]=l,t[d+4>>2]=((l|0)<0)<<31>>31,d=0,n=Pe;continue e}default:{d=0,n=Pe;continue e}}case 112:{y=120,_=_>>>0>8?_:8,n=ie|8,ke=61;break}case 88:case 120:{n=ie,ke=61;break}case 111:{y=It,n=t[y>>2]|0,y=t[y+4>>2]|0,q=pL(n,y,pe)|0,we=_e-q|0,k=0,P=5642,_=(ie&8|0)==0|(_|0)>(we|0)?_:we+1|0,we=ie,ke=67;break}case 105:case 100:if(y=It,n=t[y>>2]|0,y=t[y+4>>2]|0,(y|0)<0){n=fh(0,0,n|0,y|0)|0,y=be,k=It,t[k>>2]=n,t[k+4>>2]=y,k=1,P=5642,ke=66;break t}else{k=(ie&2049|0)!=0&1,P=(ie&2048|0)==0?(ie&1|0)==0?5642:5644:5643,ke=66;break t}case 117:{y=It,k=0,P=5642,n=t[y>>2]|0,y=t[y+4>>2]|0,ke=66;break}case 99:{c[vt>>0]=t[It>>2],n=vt,k=0,P=5642,q=pe,y=1,_=we;break}case 109:{y=hL(t[(ca()|0)>>2]|0)|0,ke=71;break}case 115:{y=t[It>>2]|0,y=y|0?y:5652,ke=71;break}case 67:{t[gn>>2]=t[It>>2],t[Ln>>2]=0,t[It>>2]=gn,q=-1,y=gn,ke=75;break}case 83:{n=t[It>>2]|0,_?(q=_,y=n,ke=75):(wi(e,32,d,0,ie),n=0,ke=84);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{d=vL(e,+L[It>>3],d,_,ie,y)|0,n=Pe;continue e}default:k=0,P=5642,q=pe,y=_,_=ie}while(0);t:do if((ke|0)==61)ie=It,le=t[ie>>2]|0,ie=t[ie+4>>2]|0,q=dL(le,ie,pe,y&32)|0,P=(n&8|0)==0|(le|0)==0&(ie|0)==0,k=P?0:2,P=P?5642:5642+(y>>4)|0,we=n,n=le,y=ie,ke=67;else if((ke|0)==66)q=aa(n,y,pe)|0,we=ie,ke=67;else if((ke|0)==71)ke=0,ie=mL(y,0,_)|0,le=(ie|0)==0,n=y,k=0,P=5642,q=le?y+_|0:ie,y=le?_:ie-y|0,_=we;else if((ke|0)==75){for(ke=0,P=y,n=0,_=0;k=t[P>>2]|0,!(!k||(_=H8(Pn,k)|0,(_|0)<0|_>>>0>(q-n|0)>>>0));)if(n=_+n|0,q>>>0>n>>>0)P=P+4|0;else break;if((_|0)<0){l=-1;break e}if(wi(e,32,d,n,ie),!n)n=0,ke=84;else for(k=0;;){if(_=t[y>>2]|0,!_){ke=84;break t}if(_=H8(Pn,_)|0,k=_+k|0,(k|0)>(n|0)){ke=84;break t}if(ri(e,Pn,_),k>>>0>=n>>>0){ke=84;break}else y=y+4|0}}while(0);if((ke|0)==67)ke=0,y=(n|0)!=0|(y|0)!=0,ie=(_|0)!=0|y,y=((y^1)&1)+(_e-q)|0,n=ie?q:pe,q=pe,y=ie?(_|0)>(y|0)?_:y:_,_=(_|0)>-1?we&-65537:we;else if((ke|0)==84){ke=0,wi(e,32,d,n,ie^8192),d=(d|0)>(n|0)?d:n,n=Pe;continue}le=q-n|0,we=(y|0)<(le|0)?le:y,ie=we+k|0,d=(d|0)<(ie|0)?ie:d,wi(e,32,d,ie,_),ri(e,P,k),wi(e,48,d,ie,_^65536),wi(e,48,we,le,0),ri(e,n,le),wi(e,32,d,ie,_^8192),n=Pe}e:do if((ke|0)==87&&!e)if(!T)l=0;else{for(l=1;n=t[s+(l<<2)>>2]|0,!!n;)if(W8(o+(l<<3)|0,n,r),l=l+1|0,(l|0)>=10){l=1;break e}for(;;){if(t[s+(l<<2)>>2]|0){l=-1;break e}if(l=l+1|0,(l|0)>=10){l=1;break}}}while(0);return h=zt,l|0}function cL(e){return e=e|0,0}function aL(e){e=e|0}function ri(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]&32||TL(n,r,e)|0}function z8(e){e=e|0;var n=0,r=0,o=0;if(r=t[e>>2]|0,o=(c[r>>0]|0)+-48|0,o>>>0<10){n=0;do n=o+(n*10|0)|0,r=r+1|0,t[e>>2]=r,o=(c[r>>0]|0)+-48|0;while(o>>>0<10)}else n=0;return n|0}function W8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;e:do if(n>>>0<=20)do switch(n|0){case 9:{o=(t[r>>2]|0)+(4-1)&~(4-1),n=t[o>>2]|0,t[r>>2]=o+4,t[e>>2]=n;break e}case 10:{o=(t[r>>2]|0)+(4-1)&~(4-1),n=t[o>>2]|0,t[r>>2]=o+4,o=e,t[o>>2]=n,t[o+4>>2]=((n|0)<0)<<31>>31;break e}case 11:{o=(t[r>>2]|0)+(4-1)&~(4-1),n=t[o>>2]|0,t[r>>2]=o+4,o=e,t[o>>2]=n,t[o+4>>2]=0;break e}case 12:{o=(t[r>>2]|0)+(8-1)&~(8-1),n=o,s=t[n>>2]|0,n=t[n+4>>2]|0,t[r>>2]=o+8,o=e,t[o>>2]=s,t[o+4>>2]=n;break e}case 13:{s=(t[r>>2]|0)+(4-1)&~(4-1),o=t[s>>2]|0,t[r>>2]=s+4,o=(o&65535)<<16>>16,s=e,t[s>>2]=o,t[s+4>>2]=((o|0)<0)<<31>>31;break e}case 14:{s=(t[r>>2]|0)+(4-1)&~(4-1),o=t[s>>2]|0,t[r>>2]=s+4,s=e,t[s>>2]=o&65535,t[s+4>>2]=0;break e}case 15:{s=(t[r>>2]|0)+(4-1)&~(4-1),o=t[s>>2]|0,t[r>>2]=s+4,o=(o&255)<<24>>24,s=e,t[s>>2]=o,t[s+4>>2]=((o|0)<0)<<31>>31;break e}case 16:{s=(t[r>>2]|0)+(4-1)&~(4-1),o=t[s>>2]|0,t[r>>2]=s+4,s=e,t[s>>2]=o&255,t[s+4>>2]=0;break e}case 17:{s=(t[r>>2]|0)+(8-1)&~(8-1),l=+L[s>>3],t[r>>2]=s+8,L[e>>3]=l;break e}case 18:{s=(t[r>>2]|0)+(8-1)&~(8-1),l=+L[s>>3],t[r>>2]=s+8,L[e>>3]=l;break e}default:break e}while(0);while(0)}function dL(e,n,r,o){if(e=e|0,n=n|0,r=r|0,o=o|0,!((e|0)==0&(n|0)==0))do r=r+-1|0,c[r>>0]=C[5694+(e&15)>>0]|0|o,e=ch(e|0,n|0,4)|0,n=be;while(!((e|0)==0&(n|0)==0));return r|0}function pL(e,n,r){if(e=e|0,n=n|0,r=r|0,!((e|0)==0&(n|0)==0))do r=r+-1|0,c[r>>0]=e&7|48,e=ch(e|0,n|0,3)|0,n=be;while(!((e|0)==0&(n|0)==0));return r|0}function aa(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;if(n>>>0>0|(n|0)==0&e>>>0>4294967295){for(;o=K4(e|0,n|0,10,0)|0,r=r+-1|0,c[r>>0]=o&255|48,o=e,e=$4(e|0,n|0,10,0)|0,n>>>0>9|(n|0)==9&o>>>0>4294967295;)n=be;n=e}else n=e;if(n)for(;r=r+-1|0,c[r>>0]=(n>>>0)%10|0|48,!(n>>>0<10);)n=(n>>>0)/10|0;return r|0}function hL(e){return e=e|0,DL(e,t[(wL()|0)+188>>2]|0)|0}function mL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;l=n&255,o=(r|0)!=0;e:do if(o&(e&3|0)!=0)for(s=n&255;;){if((c[e>>0]|0)==s<<24>>24){d=6;break e}if(e=e+1|0,r=r+-1|0,o=(r|0)!=0,!(o&(e&3|0)!=0)){d=5;break}}else d=5;while(0);(d|0)==5&&(o?d=6:r=0);e:do if((d|0)==6&&(s=n&255,(c[e>>0]|0)!=s<<24>>24)){o=Un(l,16843009)|0;t:do if(r>>>0>3){for(;l=t[e>>2]^o,!((l&-2139062144^-2139062144)&l+-16843009|0);)if(e=e+4|0,r=r+-4|0,r>>>0<=3){d=11;break t}}else d=11;while(0);if((d|0)==11&&!r){r=0;break}for(;;){if((c[e>>0]|0)==s<<24>>24)break e;if(e=e+1|0,r=r+-1|0,!r){r=0;break}}}while(0);return(r|0?e:0)|0}function wi(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0;if(d=h,h=h+256|0,l=d,(r|0)>(o|0)&(s&73728|0)==0){if(s=r-o|0,pa(l|0,n|0,(s>>>0<256?s:256)|0)|0,s>>>0>255){n=r-o|0;do ri(e,l,256),s=s+-256|0;while(s>>>0>255);s=n&255}ri(e,l,s)}h=d}function H8(e,n){return e=e|0,n=n|0,e?e=_L(e,n,0)|0:e=0,e|0}function vL(e,n,r,o,s,l){e=e|0,n=+n,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0,Pe=0,ke=0,qe=0,pe=0,_e=0,vt=0,Ln=0,Ht=0,It=0,gn=0,Pn=0,zt=0,Dr=0;Dr=h,h=h+560|0,y=Dr+8|0,Pe=Dr,zt=Dr+524|0,Pn=zt,k=Dr+512|0,t[Pe>>2]=0,gn=k+12|0,b8(n)|0,(be|0)<0?(n=-n,Ht=1,Ln=5659):(Ht=(s&2049|0)!=0&1,Ln=(s&2048|0)==0?(s&1|0)==0?5660:5665:5662),b8(n)|0,It=be&2146435072;do if(It>>>0<2146435072|(It|0)==2146435072&0<0){if(we=+gL(n,Pe)*2,d=we!=0,d&&(t[Pe>>2]=(t[Pe>>2]|0)+-1),qe=l|32,(qe|0)==97){le=l&32,q=(le|0)==0?Ln:Ln+9|0,P=Ht|2,d=12-o|0;do if(o>>>0>11|(d|0)==0)n=we;else{n=8;do d=d+-1|0,n=n*16;while((d|0)!=0);if((c[q>>0]|0)==45){n=-(n+(-we-n));break}else{n=we+n-n;break}}while(0);_=t[Pe>>2]|0,d=(_|0)<0?0-_|0:_,d=aa(d,((d|0)<0)<<31>>31,gn)|0,(d|0)==(gn|0)&&(d=k+11|0,c[d>>0]=48),c[d+-1>>0]=(_>>31&2)+43,T=d+-2|0,c[T>>0]=l+15,k=(o|0)<1,y=(s&8|0)==0,d=zt;do It=~~n,_=d+1|0,c[d>>0]=C[5694+It>>0]|le,n=(n-+(It|0))*16,((_-Pn|0)==1?!(y&(k&n==0)):0)?(c[_>>0]=46,d=d+2|0):d=_;while(n!=0);It=d-Pn|0,Pn=gn-T|0,gn=(o|0)!=0&(It+-2|0)<(o|0)?o+2|0:It,d=Pn+P+gn|0,wi(e,32,r,d,s),ri(e,q,P),wi(e,48,r,d,s^65536),ri(e,zt,It),wi(e,48,gn-It|0,0,0),ri(e,T,Pn),wi(e,32,r,d,s^8192);break}_=(o|0)<0?6:o,d?(d=(t[Pe>>2]|0)+-28|0,t[Pe>>2]=d,n=we*268435456):(n=we,d=t[Pe>>2]|0),It=(d|0)<0?y:y+288|0,y=It;do _e=~~n>>>0,t[y>>2]=_e,y=y+4|0,n=(n-+(_e>>>0))*1e9;while(n!=0);if((d|0)>0)for(k=It,P=y;;){if(T=(d|0)<29?d:29,d=P+-4|0,d>>>0>=k>>>0){y=0;do pe=X8(t[d>>2]|0,0,T|0)|0,pe=Y4(pe|0,be|0,y|0,0)|0,_e=be,ke=K4(pe|0,_e|0,1e9,0)|0,t[d>>2]=ke,y=$4(pe|0,_e|0,1e9,0)|0,d=d+-4|0;while(d>>>0>=k>>>0);y&&(k=k+-4|0,t[k>>2]=y)}for(y=P;!(y>>>0<=k>>>0);)if(d=y+-4|0,!(t[d>>2]|0))y=d;else break;if(d=(t[Pe>>2]|0)-T|0,t[Pe>>2]=d,(d|0)>0)P=y;else break}else k=It;if((d|0)<0){o=((_+25|0)/9|0)+1|0,ie=(qe|0)==102;do{if(le=0-d|0,le=(le|0)<9?le:9,k>>>0>>0){T=(1<>>le,q=0,d=k;do _e=t[d>>2]|0,t[d>>2]=(_e>>>le)+q,q=Un(_e&T,P)|0,d=d+4|0;while(d>>>0>>0);d=(t[k>>2]|0)==0?k+4|0:k,q?(t[y>>2]=q,k=d,d=y+4|0):(k=d,d=y)}else k=(t[k>>2]|0)==0?k+4|0:k,d=y;y=ie?It:k,y=(d-y>>2|0)>(o|0)?y+(o<<2)|0:d,d=(t[Pe>>2]|0)+le|0,t[Pe>>2]=d}while((d|0)<0);d=k,o=y}else d=k,o=y;if(_e=It,d>>>0>>0){if(y=(_e-d>>2)*9|0,T=t[d>>2]|0,T>>>0>=10){k=10;do k=k*10|0,y=y+1|0;while(T>>>0>=k>>>0)}}else y=0;if(ie=(qe|0)==103,ke=(_|0)!=0,k=_-((qe|0)!=102?y:0)+((ke&ie)<<31>>31)|0,(k|0)<(((o-_e>>2)*9|0)+-9|0)){if(k=k+9216|0,le=It+4+(((k|0)/9|0)+-1024<<2)|0,k=((k|0)%9|0)+1|0,(k|0)<9){T=10;do T=T*10|0,k=k+1|0;while((k|0)!=9)}else T=10;if(P=t[le>>2]|0,q=(P>>>0)%(T>>>0)|0,k=(le+4|0)==(o|0),k&(q|0)==0)k=le;else if(we=(((P>>>0)/(T>>>0)|0)&1|0)==0?9007199254740992:9007199254740994,pe=(T|0)/2|0,n=q>>>0>>0?.5:k&(q|0)==(pe|0)?1:1.5,Ht&&(pe=(c[Ln>>0]|0)==45,n=pe?-n:n,we=pe?-we:we),k=P-q|0,t[le>>2]=k,we+n!=we){if(pe=k+T|0,t[le>>2]=pe,pe>>>0>999999999)for(y=le;k=y+-4|0,t[y>>2]=0,k>>>0>>0&&(d=d+-4|0,t[d>>2]=0),pe=(t[k>>2]|0)+1|0,t[k>>2]=pe,pe>>>0>999999999;)y=k;else k=le;if(y=(_e-d>>2)*9|0,P=t[d>>2]|0,P>>>0>=10){T=10;do T=T*10|0,y=y+1|0;while(P>>>0>=T>>>0)}}else k=le;k=k+4|0,k=o>>>0>k>>>0?k:o,pe=d}else k=o,pe=d;for(qe=k;;){if(qe>>>0<=pe>>>0){Pe=0;break}if(d=qe+-4|0,!(t[d>>2]|0))qe=d;else{Pe=1;break}}o=0-y|0;do if(ie)if(d=((ke^1)&1)+_|0,(d|0)>(y|0)&(y|0)>-5?(T=l+-1|0,_=d+-1-y|0):(T=l+-2|0,_=d+-1|0),d=s&8,d)le=d;else{if(Pe?(vt=t[qe+-4>>2]|0,(vt|0)!=0):0)if((vt>>>0)%10|0)k=0;else{k=0,d=10;do d=d*10|0,k=k+1|0;while(!((vt>>>0)%(d>>>0)|0|0))}else k=9;if(d=((qe-_e>>2)*9|0)+-9|0,(T|32|0)==102){le=d-k|0,le=(le|0)>0?le:0,_=(_|0)<(le|0)?_:le,le=0;break}else{le=d+y-k|0,le=(le|0)>0?le:0,_=(_|0)<(le|0)?_:le,le=0;break}}else T=l,le=s&8;while(0);if(ie=_|le,P=(ie|0)!=0&1,q=(T|32|0)==102,q)ke=0,d=(y|0)>0?y:0;else{if(d=(y|0)<0?o:y,d=aa(d,((d|0)<0)<<31>>31,gn)|0,k=gn,(k-d|0)<2)do d=d+-1|0,c[d>>0]=48;while((k-d|0)<2);c[d+-1>>0]=(y>>31&2)+43,d=d+-2|0,c[d>>0]=T,ke=d,d=k-d|0}if(d=Ht+1+_+P+d|0,wi(e,32,r,d,s),ri(e,Ln,Ht),wi(e,48,r,d,s^65536),q){T=pe>>>0>It>>>0?It:pe,le=zt+9|0,P=le,q=zt+8|0,k=T;do{if(y=aa(t[k>>2]|0,0,le)|0,(k|0)==(T|0))(y|0)==(le|0)&&(c[q>>0]=48,y=q);else if(y>>>0>zt>>>0){pa(zt|0,48,y-Pn|0)|0;do y=y+-1|0;while(y>>>0>zt>>>0)}ri(e,y,P-y|0),k=k+4|0}while(k>>>0<=It>>>0);if(ie|0&&ri(e,5710,1),k>>>0>>0&(_|0)>0)for(;;){if(y=aa(t[k>>2]|0,0,le)|0,y>>>0>zt>>>0){pa(zt|0,48,y-Pn|0)|0;do y=y+-1|0;while(y>>>0>zt>>>0)}if(ri(e,y,(_|0)<9?_:9),k=k+4|0,y=_+-9|0,k>>>0>>0&(_|0)>9)_=y;else{_=y;break}}wi(e,48,_+9|0,9,0)}else{if(ie=Pe?qe:pe+4|0,(_|0)>-1){Pe=zt+9|0,le=(le|0)==0,o=Pe,P=0-Pn|0,q=zt+8|0,T=pe;do{y=aa(t[T>>2]|0,0,Pe)|0,(y|0)==(Pe|0)&&(c[q>>0]=48,y=q);do if((T|0)==(pe|0)){if(k=y+1|0,ri(e,y,1),le&(_|0)<1){y=k;break}ri(e,5710,1),y=k}else{if(y>>>0<=zt>>>0)break;pa(zt|0,48,y+P|0)|0;do y=y+-1|0;while(y>>>0>zt>>>0)}while(0);Pn=o-y|0,ri(e,y,(_|0)>(Pn|0)?Pn:_),_=_-Pn|0,T=T+4|0}while(T>>>0>>0&(_|0)>-1)}wi(e,48,_+18|0,18,0),ri(e,ke,gn-ke|0)}wi(e,32,r,d,s^8192)}else zt=(l&32|0)!=0,d=Ht+3|0,wi(e,32,r,d,s&-65537),ri(e,Ln,Ht),ri(e,n!=n|!1?zt?5686:5690:zt?5678:5682,3),wi(e,32,r,d,s^8192);while(0);return h=Dr,((d|0)<(r|0)?r:d)|0}function b8(e){e=+e;var n=0;return L[j>>3]=e,n=t[j>>2]|0,be=t[j+4>>2]|0,n|0}function gL(e,n){return e=+e,n=n|0,+ +G8(e,n)}function G8(e,n){e=+e,n=n|0;var r=0,o=0,s=0;switch(L[j>>3]=e,r=t[j>>2]|0,o=t[j+4>>2]|0,s=ch(r|0,o|0,52)|0,s&2047){case 0:{e!=0?(e=+G8(e*18446744073709552e3,n),r=(t[n>>2]|0)+-64|0):r=0,t[n>>2]=r;break}case 2047:break;default:t[n>>2]=(s&2047)+-1022,t[j>>2]=r,t[j+4>>2]=o&-2146435073|1071644672,e=+L[j>>3]}return+e}function _L(e,n,r){e=e|0,n=n|0,r=r|0;do if(e){if(n>>>0<128){c[e>>0]=n,e=1;break}if(!(t[t[(yL()|0)+188>>2]>>2]|0))if((n&-128|0)==57216){c[e>>0]=n,e=1;break}else{t[(ca()|0)>>2]=84,e=-1;break}if(n>>>0<2048){c[e>>0]=n>>>6|192,c[e+1>>0]=n&63|128,e=2;break}if(n>>>0<55296|(n&-8192|0)==57344){c[e>>0]=n>>>12|224,c[e+1>>0]=n>>>6&63|128,c[e+2>>0]=n&63|128,e=3;break}if((n+-65536|0)>>>0<1048576){c[e>>0]=n>>>18|240,c[e+1>>0]=n>>>12&63|128,c[e+2>>0]=n>>>6&63|128,c[e+3>>0]=n&63|128,e=4;break}else{t[(ca()|0)>>2]=84,e=-1;break}}else e=1;while(0);return e|0}function yL(){return b4()|0}function wL(){return b4()|0}function DL(e,n){e=e|0,n=n|0;var r=0,o=0;for(o=0;;){if((C[5712+o>>0]|0)==(e|0)){e=2;break}if(r=o+1|0,(r|0)==87){r=5800,o=87,e=5;break}else o=r}if((e|0)==2&&(o?(r=5800,e=5):r=5800),(e|0)==5)for(;;){do e=r,r=r+1|0;while((c[e>>0]|0)!=0);if(o=o+-1|0,o)e=5;else break}return EL(r,t[n+20>>2]|0)|0}function EL(e,n){return e=e|0,n=n|0,SL(e,n)|0}function SL(e,n){return e=e|0,n=n|0,n?n=CL(t[n>>2]|0,t[n+4>>2]|0,e)|0:n=0,(n|0?n:e)|0}function CL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;q=(t[e>>2]|0)+1794895138|0,l=fc(t[e+8>>2]|0,q)|0,o=fc(t[e+12>>2]|0,q)|0,s=fc(t[e+16>>2]|0,q)|0;e:do if((l>>>0>>2>>>0?(P=n-(l<<2)|0,o>>>0

>>0&s>>>0

>>0):0)?((s|o)&3|0)==0:0){for(P=o>>>2,T=s>>>2,k=0;;){if(_=l>>>1,y=k+_|0,d=y<<1,s=d+P|0,o=fc(t[e+(s<<2)>>2]|0,q)|0,s=fc(t[e+(s+1<<2)>>2]|0,q)|0,!(s>>>0>>0&o>>>0<(n-s|0)>>>0)){o=0;break e}if(c[e+(s+o)>>0]|0){o=0;break e}if(o=U8(r,e+s|0)|0,!o)break;if(o=(o|0)<0,(l|0)==1){o=0;break e}else k=o?k:y,l=o?_:l-_|0}o=d+T|0,s=fc(t[e+(o<<2)>>2]|0,q)|0,o=fc(t[e+(o+1<<2)>>2]|0,q)|0,o>>>0>>0&s>>>0<(n-o|0)>>>0?o=(c[e+(o+s)>>0]|0)==0?e+o|0:0:o=0}else o=0;while(0);return o|0}function fc(e,n){e=e|0,n=n|0;var r=0;return r=Z8(e|0)|0,((n|0)==0?e:r)|0}function TL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=r+16|0,s=t[o>>2]|0,s?l=5:xL(r)|0?o=0:(s=t[o>>2]|0,l=5);e:do if((l|0)==5){if(_=r+20|0,d=t[_>>2]|0,o=d,(s-d|0)>>>0>>0){o=dh[t[r+36>>2]&7](r,e,n)|0;break}t:do if((c[r+75>>0]|0)>-1){for(d=n;;){if(!d){l=0,s=e;break t}if(s=d+-1|0,(c[e+s>>0]|0)==10)break;d=s}if(o=dh[t[r+36>>2]&7](r,e,d)|0,o>>>0>>0)break e;l=d,s=e+d|0,n=n-d|0,o=t[_>>2]|0}else l=0,s=e;while(0);vn(o|0,s|0,n|0)|0,t[_>>2]=(t[_>>2]|0)+n,o=l+n|0}while(0);return o|0}function xL(e){e=e|0;var n=0,r=0;return n=e+74|0,r=c[n>>0]|0,c[n>>0]=r+255|r,n=t[e>>2]|0,n&8?(t[e>>2]=n|32,e=-1):(t[e+8>>2]=0,t[e+4>>2]=0,r=t[e+44>>2]|0,t[e+28>>2]=r,t[e+20>>2]=r,t[e+16>>2]=r+(t[e+48>>2]|0),e=0),e|0}function Ur(e,n){e=w(e),n=w(n);var r=0,o=0;r=V8(e)|0;do if((r&2147483647)>>>0<=2139095040){if(o=V8(n)|0,(o&2147483647)>>>0<=2139095040)if((o^r|0)<0){e=(r|0)<0?n:e;break}else{e=e>2]=e,t[j>>2]|0|0}function cc(e,n){e=w(e),n=w(n);var r=0,o=0;r=Y8(e)|0;do if((r&2147483647)>>>0<=2139095040){if(o=Y8(n)|0,(o&2147483647)>>>0<=2139095040)if((o^r|0)<0){e=(r|0)<0?e:n;break}else{e=e>2]=e,t[j>>2]|0|0}function V4(e,n){e=w(e),n=w(n);var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0;l=(D[j>>2]=e,t[j>>2]|0),_=(D[j>>2]=n,t[j>>2]|0),r=l>>>23&255,d=_>>>23&255,y=l&-2147483648,s=_<<1;e:do if((s|0)!=0?!((r|0)==255|((kL(n)|0)&2147483647)>>>0>2139095040):0){if(o=l<<1,o>>>0<=s>>>0)return n=w(e*w(0)),w((o|0)==(s|0)?n:e);if(r)o=l&8388607|8388608;else{if(r=l<<9,(r|0)>-1){o=r,r=0;do r=r+-1|0,o=o<<1;while((o|0)>-1)}else r=0;o=l<<1-r}if(d)_=_&8388607|8388608;else{if(l=_<<9,(l|0)>-1){s=0;do s=s+-1|0,l=l<<1;while((l|0)>-1)}else s=0;d=s,_=_<<1-s}s=o-_|0,l=(s|0)>-1;t:do if((r|0)>(d|0)){for(;;){if(l)if(s)o=s;else break;if(o=o<<1,r=r+-1|0,s=o-_|0,l=(s|0)>-1,(r|0)<=(d|0))break t}n=w(e*w(0));break e}while(0);if(l)if(s)o=s;else{n=w(e*w(0));break}if(o>>>0<8388608)do o=o<<1,r=r+-1|0;while(o>>>0<8388608);(r|0)>0?r=o+-8388608|r<<23:r=o>>>(1-r|0),n=(t[j>>2]=r|y,w(D[j>>2]))}else k=3;while(0);return(k|0)==3&&(n=w(e*n),n=w(n/n)),w(n)}function kL(e){return e=w(e),D[j>>2]=e,t[j>>2]|0|0}function AL(e,n){return e=e|0,n=n|0,q8(t[582]|0,e,n)|0}function $n(e){e=e|0,_n()}function da(e){e=e|0}function OL(e,n){return e=e|0,n=n|0,0}function IL(e){return e=e|0,($8(e+4|0)|0)==-1?(Nl[t[(t[e>>2]|0)+8>>2]&127](e),e=1):e=0,e|0}function $8(e){e=e|0;var n=0;return n=t[e>>2]|0,t[e>>2]=n+-1,n+-1|0}function Tf(e){e=e|0,IL(e)|0&&PL(e)}function PL(e){e=e|0;var n=0;n=e+8|0,((t[n>>2]|0)!=0?($8(n)|0)!=-1:0)||Nl[t[(t[e>>2]|0)+16>>2]&127](e)}function Tt(e){e=e|0;var n=0;for(n=(e|0)==0?1:e;e=uh(n)|0,!(e|0);){if(e=FL()|0,!e){e=0;break}fD[e&0]()}return e|0}function K8(e){return e=e|0,Tt(e)|0}function Ve(e){e=e|0,sh(e)}function ML(e){e=e|0,(c[e+11>>0]|0)<0&&Ve(t[e>>2]|0)}function FL(){var e=0;return e=t[2923]|0,t[2923]=e+0,e|0}function LL(){}function fh(e,n,r,o){return e=e|0,n=n|0,r=r|0,o=o|0,o=n-o-(r>>>0>e>>>0|0)>>>0,be=o,e-r>>>0|0|0}function Y4(e,n,r,o){return e=e|0,n=n|0,r=r|0,o=o|0,r=e+r>>>0,be=n+o+(r>>>0>>0|0)>>>0,r|0|0}function pa(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;if(l=e+r|0,n=n&255,(r|0)>=67){for(;e&3;)c[e>>0]=n,e=e+1|0;for(o=l&-4|0,s=o-64|0,d=n|n<<8|n<<16|n<<24;(e|0)<=(s|0);)t[e>>2]=d,t[e+4>>2]=d,t[e+8>>2]=d,t[e+12>>2]=d,t[e+16>>2]=d,t[e+20>>2]=d,t[e+24>>2]=d,t[e+28>>2]=d,t[e+32>>2]=d,t[e+36>>2]=d,t[e+40>>2]=d,t[e+44>>2]=d,t[e+48>>2]=d,t[e+52>>2]=d,t[e+56>>2]=d,t[e+60>>2]=d,e=e+64|0;for(;(e|0)<(o|0);)t[e>>2]=d,e=e+4|0}for(;(e|0)<(l|0);)c[e>>0]=n,e=e+1|0;return l-r|0}function X8(e,n,r){return e=e|0,n=n|0,r=r|0,(r|0)<32?(be=n<>>32-r,e<>>r,e>>>r|(n&(1<>>r-32|0)}function vn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;if((r|0)>=8192)return wo(e|0,n|0,r|0)|0;if(l=e|0,s=e+r|0,(e&3)==(n&3)){for(;e&3;){if(!r)return l|0;c[e>>0]=c[n>>0]|0,e=e+1|0,n=n+1|0,r=r-1|0}for(r=s&-4|0,o=r-64|0;(e|0)<=(o|0);)t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2],t[e+16>>2]=t[n+16>>2],t[e+20>>2]=t[n+20>>2],t[e+24>>2]=t[n+24>>2],t[e+28>>2]=t[n+28>>2],t[e+32>>2]=t[n+32>>2],t[e+36>>2]=t[n+36>>2],t[e+40>>2]=t[n+40>>2],t[e+44>>2]=t[n+44>>2],t[e+48>>2]=t[n+48>>2],t[e+52>>2]=t[n+52>>2],t[e+56>>2]=t[n+56>>2],t[e+60>>2]=t[n+60>>2],e=e+64|0,n=n+64|0;for(;(e|0)<(r|0);)t[e>>2]=t[n>>2],e=e+4|0,n=n+4|0}else for(r=s-4|0;(e|0)<(r|0);)c[e>>0]=c[n>>0]|0,c[e+1>>0]=c[n+1>>0]|0,c[e+2>>0]=c[n+2>>0]|0,c[e+3>>0]=c[n+3>>0]|0,e=e+4|0,n=n+4|0;for(;(e|0)<(s|0);)c[e>>0]=c[n>>0]|0,e=e+1|0,n=n+1|0;return l|0}function J8(e){e=e|0;var n=0;return n=c[ce+(e&255)>>0]|0,(n|0)<8?n|0:(n=c[ce+(e>>8&255)>>0]|0,(n|0)<8?n+8|0:(n=c[ce+(e>>16&255)>>0]|0,(n|0)<8?n+16|0:(c[ce+(e>>>24)>>0]|0)+24|0))}function Q8(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0;if(T=e,y=n,k=y,d=r,q=o,_=q,!k)return l=(s|0)!=0,_?l?(t[s>>2]=e|0,t[s+4>>2]=n&0,q=0,s=0,be=q,s|0):(q=0,s=0,be=q,s|0):(l&&(t[s>>2]=(T>>>0)%(d>>>0),t[s+4>>2]=0),q=0,s=(T>>>0)/(d>>>0)>>>0,be=q,s|0);l=(_|0)==0;do if(d){if(!l){if(l=(cr(_|0)|0)-(cr(k|0)|0)|0,l>>>0<=31){P=l+1|0,_=31-l|0,n=l-31>>31,d=P,e=T>>>(P>>>0)&n|k<<_,n=k>>>(P>>>0)&n,l=0,_=T<<_;break}return s?(t[s>>2]=e|0,t[s+4>>2]=y|n&0,q=0,s=0,be=q,s|0):(q=0,s=0,be=q,s|0)}if(l=d-1|0,l&d|0){_=(cr(d|0)|0)+33-(cr(k|0)|0)|0,le=64-_|0,P=32-_|0,y=P>>31,we=_-32|0,n=we>>31,d=_,e=P-1>>31&k>>>(we>>>0)|(k<>>(_>>>0))&n,n=n&k>>>(_>>>0),l=T<>>(we>>>0))&y|T<>31;break}return s|0&&(t[s>>2]=l&T,t[s+4>>2]=0),(d|0)==1?(we=y|n&0,le=e|0|0,be=we,le|0):(le=J8(d|0)|0,we=k>>>(le>>>0)|0,le=k<<32-le|T>>>(le>>>0)|0,be=we,le|0)}else{if(l)return s|0&&(t[s>>2]=(k>>>0)%(d>>>0),t[s+4>>2]=0),we=0,le=(k>>>0)/(d>>>0)>>>0,be=we,le|0;if(!T)return s|0&&(t[s>>2]=0,t[s+4>>2]=(k>>>0)%(_>>>0)),we=0,le=(k>>>0)/(_>>>0)>>>0,be=we,le|0;if(l=_-1|0,!(l&_))return s|0&&(t[s>>2]=e|0,t[s+4>>2]=l&k|n&0),we=0,le=k>>>((J8(_|0)|0)>>>0),be=we,le|0;if(l=(cr(_|0)|0)-(cr(k|0)|0)|0,l>>>0<=30){n=l+1|0,_=31-l|0,d=n,e=k<<_|T>>>(n>>>0),n=k>>>(n>>>0),l=0,_=T<<_;break}return s?(t[s>>2]=e|0,t[s+4>>2]=y|n&0,we=0,le=0,be=we,le|0):(we=0,le=0,be=we,le|0)}while(0);if(!d)k=_,y=0,_=0;else{P=r|0|0,T=q|o&0,k=Y4(P|0,T|0,-1,-1)|0,r=be,y=_,_=0;do o=y,y=l>>>31|y<<1,l=_|l<<1,o=e<<1|o>>>31|0,q=e>>>31|n<<1|0,fh(k|0,r|0,o|0,q|0)|0,le=be,we=le>>31|((le|0)<0?-1:0)<<1,_=we&1,e=fh(o|0,q|0,we&P|0,(((le|0)<0?-1:0)>>31|((le|0)<0?-1:0)<<1)&T|0)|0,n=be,d=d-1|0;while((d|0)!=0);k=y,y=0}return d=0,s|0&&(t[s>>2]=e,t[s+4>>2]=n),we=(l|0)>>>31|(k|d)<<1|(d<<1|l>>>31)&0|y,le=(l<<1|0>>>31)&-2|_,be=we,le|0}function $4(e,n,r,o){return e=e|0,n=n|0,r=r|0,o=o|0,Q8(e,n,r,o,0)|0}function xf(e){e=e|0;var n=0,r=0;return r=e+15&-16|0,n=t[N>>2]|0,e=n+r|0,(r|0)>0&(e|0)<(n|0)|(e|0)<0?(vr()|0,Os(12),-1):(t[N>>2]=e,((e|0)>(Xn()|0)?(Bn()|0)==0:0)?(t[N>>2]=n,Os(12),-1):n|0)}function Y1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;if((n|0)<(e|0)&(e|0)<(n+r|0)){for(o=e,n=n+r|0,e=e+r|0;(r|0)>0;)e=e-1|0,n=n-1|0,r=r-1|0,c[e>>0]=c[n>>0]|0;e=o}else vn(e,n,r)|0;return e|0}function K4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;return l=h,h=h+16|0,s=l|0,Q8(e,n,r,o,s)|0,h=l,be=t[s+4>>2]|0,t[s>>2]|0|0}function Z8(e){return e=e|0,(e&255)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function RL(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,eD[e&1](n|0,r|0,o|0,s|0,l|0)}function NL(e,n,r){e=e|0,n=n|0,r=w(r),tD[e&1](n|0,w(r))}function BL(e,n,r){e=e|0,n=n|0,r=+r,nD[e&31](n|0,+r)}function jL(e,n,r,o){return e=e|0,n=n|0,r=w(r),o=w(o),w(rD[e&0](n|0,w(r),w(o)))}function UL(e,n){e=e|0,n=n|0,Nl[e&127](n|0)}function qL(e,n,r){e=e|0,n=n|0,r=r|0,Bl[e&31](n|0,r|0)}function zL(e,n){return e=e|0,n=n|0,dc[e&31](n|0)|0}function WL(e,n,r,o,s){e=e|0,n=n|0,r=+r,o=+o,s=s|0,iD[e&1](n|0,+r,+o,s|0)}function HL(e,n,r,o){e=e|0,n=n|0,r=+r,o=+o,CR[e&1](n|0,+r,+o)}function bL(e,n,r,o){return e=e|0,n=n|0,r=r|0,o=o|0,dh[e&7](n|0,r|0,o|0)|0}function VL(e,n,r,o){return e=e|0,n=n|0,r=r|0,o=o|0,+TR[e&1](n|0,r|0,o|0)}function YL(e,n){return e=e|0,n=n|0,+oD[e&15](n|0)}function $L(e,n,r){return e=e|0,n=n|0,r=+r,xR[e&1](n|0,+r)|0}function KL(e,n,r){return e=e|0,n=n|0,r=r|0,J4[e&15](n|0,r|0)|0}function XL(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=+o,s=+s,l=l|0,kR[e&1](n|0,r|0,+o,+s,l|0)}function JL(e,n,r,o,s,l,d){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,d=d|0,AR[e&1](n|0,r|0,o|0,s|0,l|0,d|0)}function QL(e,n,r){return e=e|0,n=n|0,r=r|0,+uD[e&7](n|0,r|0)}function ZL(e){return e=e|0,ph[e&7]()|0}function eR(e,n,r,o,s,l){return e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,sD[e&1](n|0,r|0,o|0,s|0,l|0)|0}function tR(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=+s,OR[e&1](n|0,r|0,o|0,+s)}function nR(e,n,r,o,s,l,d){e=e|0,n=n|0,r=r|0,o=w(o),s=s|0,l=w(l),d=d|0,lD[e&1](n|0,r|0,w(o),s|0,w(l),d|0)}function rR(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,X1[e&15](n|0,r|0,o|0)}function iR(e){e=e|0,fD[e&0]()}function oR(e,n,r,o){e=e|0,n=n|0,r=r|0,o=+o,cD[e&15](n|0,r|0,+o)}function uR(e,n,r){return e=e|0,n=+n,r=+r,IR[e&1](+n,+r)|0}function sR(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,Q4[e&15](n|0,r|0,o|0,s|0)}function lR(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,pt(0)}function fR(e,n){e=e|0,n=w(n),pt(1)}function Lo(e,n){e=e|0,n=+n,pt(2)}function cR(e,n,r){return e=e|0,n=w(n),r=w(r),pt(3),tt}function tn(e){e=e|0,pt(4)}function $1(e,n){e=e|0,n=n|0,pt(5)}function tu(e){return e=e|0,pt(6),0}function aR(e,n,r,o){e=e|0,n=+n,r=+r,o=o|0,pt(7)}function dR(e,n,r){e=e|0,n=+n,r=+r,pt(8)}function pR(e,n,r){return e=e|0,n=n|0,r=r|0,pt(9),0}function hR(e,n,r){return e=e|0,n=n|0,r=r|0,pt(10),0}function ac(e){return e=e|0,pt(11),0}function mR(e,n){return e=e|0,n=+n,pt(12),0}function K1(e,n){return e=e|0,n=n|0,pt(13),0}function vR(e,n,r,o,s){e=e|0,n=n|0,r=+r,o=+o,s=s|0,pt(14)}function gR(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,pt(15)}function X4(e,n){return e=e|0,n=n|0,pt(16),0}function _R(){return pt(17),0}function yR(e,n,r,o,s){return e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,pt(18),0}function wR(e,n,r,o){e=e|0,n=n|0,r=r|0,o=+o,pt(19)}function DR(e,n,r,o,s,l){e=e|0,n=n|0,r=w(r),o=o|0,s=w(s),l=l|0,pt(20)}function ah(e,n,r){e=e|0,n=n|0,r=r|0,pt(21)}function ER(){pt(22)}function ha(e,n,r){e=e|0,n=n|0,r=+r,pt(23)}function SR(e,n){return e=+e,n=+n,pt(24),0}function ma(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,pt(25)}var eD=[lR,_I],tD=[fR,x0],nD=[Lo,Kf,Tl,xl,hf,xo,mf,Wa,Hs,mi,Xf,Rc,Jf,ao,$o,kl,Nc,Al,vf,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo],rD=[cR],Nl=[tn,da,Km,Xm,es,a_,d_,p_,YA,$A,KA,oI,uI,sI,kF,AF,OF,Sn,Oc,pf,ti,vi,Nm,Uc,r1,Hd,Pl,mv,Av,Kc,Jc,yp,Eg,na,Ug,Yg,u_,k_,q_,J_,a4,Ct,w9,U9,ex,hx,Ix,_0,s7,S7,W7,uk,Dk,Wk,Qk,tA,_A,DA,jA,JA,eO,gO,RO,d1,vP,YP,lM,SM,GM,uF,gF,wF,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn],Bl=[$1,ja,Ua,$f,gu,co,qa,Ws,za,Mc,Fc,Lc,po,Ce,ze,Et,on,sr,mn,Zf,gd,xd,H9,rx,ck,yP,HO,C8,$1,$1,$1,$1],dc=[tu,iL,Ba,m,b,ee,Ye,Ze,ut,In,jr,gi,Pm,Ha,Ya,Fx,Tk,wO,SP,Qo,tu,tu,tu,tu,tu,tu,tu,tu,tu,tu,tu,tu],iD=[aR,Sd],CR=[dR,zA],dh=[pR,j8,oL,lL,Gv,P_,a7,kM],TR=[hR,Op],oD=[ac,_i,Re,pr,Cd,ho,bs,$a,Td,qc,ac,ac,ac,ac,ac,ac],xR=[mR,Kk],J4=[K1,OL,vd,Vc,_v,ig,pg,f_,H_,_x,Xu,dM,K1,K1,K1,K1],kR=[vR,iv],AR=[gR,KM],uD=[X4,Hr,Ka,kd,Xa,Jg,X4,X4],ph=[_R,Ja,Z0,g0,oA,TA,iO,CF],sD=[yR,or],OR=[wR,m4],lD=[DR,Bc],X1=[ah,S,A0,Vn,ni,Mv,Tg,dn,C9,fo,zI,JP,cF,ah,ah,ah],fD=[ER],cD=[ha,Ic,vu,Pc,Qu,Qf,k0,v,W1,k7,Gk,ha,ha,ha,ha,ha],IR=[SR,GA],Q4=[ma,Fg,zx,V7,Lk,aA,PA,aO,qO,OP,RF,ma,ma,ma,ma,ma];return{_llvm_bswap_i32:Z8,dynCall_idd:uR,dynCall_i:ZL,_i64Subtract:fh,___udivdi3:$4,dynCall_vif:NL,setThrew:vl,dynCall_viii:rR,_bitshift64Lshr:ch,_bitshift64Shl:X8,dynCall_vi:UL,dynCall_viiddi:XL,dynCall_diii:VL,dynCall_iii:KL,_memset:pa,_sbrk:xf,_memcpy:vn,__GLOBAL__sub_I_Yoga_cpp:t0,dynCall_vii:qL,___uremdi3:K4,dynCall_vid:BL,stackAlloc:zi,_nbind_init:VF,getTempRet0:fu,dynCall_di:YL,dynCall_iid:$L,setTempRet0:gl,_i64Add:Y4,dynCall_fiff:jL,dynCall_iiii:bL,_emscripten_get_global_libc:rL,dynCall_viid:oR,dynCall_viiid:tR,dynCall_viififi:nR,dynCall_ii:zL,__GLOBAL__sub_I_Binding_cc:lP,dynCall_viiii:sR,dynCall_iiiiii:eR,stackSave:lu,dynCall_viiiii:RL,__GLOBAL__sub_I_nbind_cc:Gs,dynCall_vidd:HL,_free:sh,runPostSets:LL,dynCall_viiiiii:JL,establishStackSpace:O0,_memmove:Y1,stackRestore:Ho,_malloc:uh,__GLOBAL__sub_I_common_cc:AO,dynCall_viddi:WL,dynCall_dii:QL,dynCall_v:iR}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_llvm_bswap_i32=Module._llvm_bswap_i32=asm._llvm_bswap_i32,getTempRet0=Module.getTempRet0=asm.getTempRet0,___udivdi3=Module.___udivdi3=asm.___udivdi3,setThrew=Module.setThrew=asm.setThrew,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_memset=Module._memset=asm._memset,_sbrk=Module._sbrk=asm._sbrk,_memcpy=Module._memcpy=asm._memcpy,stackAlloc=Module.stackAlloc=asm.stackAlloc,___uremdi3=Module.___uremdi3=asm.___uremdi3,_nbind_init=Module._nbind_init=asm._nbind_init,_i64Subtract=Module._i64Subtract=asm._i64Subtract,setTempRet0=Module.setTempRet0=asm.setTempRet0,_i64Add=Module._i64Add=asm._i64Add,_emscripten_get_global_libc=Module._emscripten_get_global_libc=asm._emscripten_get_global_libc,__GLOBAL__sub_I_Yoga_cpp=Module.__GLOBAL__sub_I_Yoga_cpp=asm.__GLOBAL__sub_I_Yoga_cpp,__GLOBAL__sub_I_Binding_cc=Module.__GLOBAL__sub_I_Binding_cc=asm.__GLOBAL__sub_I_Binding_cc,stackSave=Module.stackSave=asm.stackSave,__GLOBAL__sub_I_nbind_cc=Module.__GLOBAL__sub_I_nbind_cc=asm.__GLOBAL__sub_I_nbind_cc,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,establishStackSpace=Module.establishStackSpace=asm.establishStackSpace,_memmove=Module._memmove=asm._memmove,stackRestore=Module.stackRestore=asm.stackRestore,_malloc=Module._malloc=asm._malloc,__GLOBAL__sub_I_common_cc=Module.__GLOBAL__sub_I_common_cc=asm.__GLOBAL__sub_I_common_cc,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vif=Module.dynCall_vif=asm.dynCall_vif,dynCall_vid=Module.dynCall_vid=asm.dynCall_vid,dynCall_fiff=Module.dynCall_fiff=asm.dynCall_fiff,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viddi=Module.dynCall_viddi=asm.dynCall_viddi,dynCall_vidd=Module.dynCall_vidd=asm.dynCall_vidd,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_iid=Module.dynCall_iid=asm.dynCall_iid,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_viiddi=Module.dynCall_viiddi=asm.dynCall_viiddi,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_dii=Module.dynCall_dii=asm.dynCall_dii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiid=Module.dynCall_viiid=asm.dynCall_viiid,dynCall_viififi=Module.dynCall_viififi=asm.dynCall_viififi,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_viid=Module.dynCall_viid=asm.dynCall_viid,dynCall_idd=Module.dynCall_idd=asm.dynCall_idd,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=Module.stackAlloc,Runtime.stackSave=Module.stackSave,Runtime.stackRestore=Module.stackRestore,Runtime.establishStackSpace=Module.establishStackSpace,Runtime.setTempRet0=Module.setTempRet0,Runtime.getTempRet0=Module.getTempRet0,Module.asm=asm;function ExitStatus(i){this.name="ExitStatus",this.message="Program terminated with exit("+i+")",this.status=i}ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function i(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=i)},Module.callMain=Module.callMain=function(u){u=u||[],ensureInitRuntime();var f=u.length+1;function c(){for(var x=0;x<4-1;x++)g.push(0)}var g=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];c();for(var t=0;t0||(preRun(),runDependencies>0)||Module.calledRun)return;function u(){Module.calledRun||(Module.calledRun=!0,!ABORT&&(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(i),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),u()},1)):u()}Module.run=Module.run=run;function exit(i,u){u&&Module.noExitRuntime||(Module.noExitRuntime||(ABORT=!0,EXITSTATUS=i,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(i)),ENVIRONMENT_IS_NODE&&process.exit(i),Module.quit(i,new ExitStatus(i)))}Module.exit=Module.exit=exit;var abortDecorators=[];function abort(i){Module.onAbort&&Module.onAbort(i),i!==void 0?(Module.print(i),Module.printErr(i),i=JSON.stringify(i)):i="",ABORT=!0,EXITSTATUS=1;var u=` -If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,f="abort("+i+") at "+stackTrace()+u;throw abortDecorators&&abortDecorators.forEach(function(c){f=c(f,i)}),f}if(Module.abort=Module.abort=abort,Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run()})});var hc=Me((hb,vE)=>{"use strict";var wN=hE(),DN=mE(),Py=!1,My=null;DN({},function(i,u){if(!Py){if(Py=!0,i)throw i;My=u}});if(!Py)throw new Error("Failed to load the yoga module - it needed to be loaded synchronously, but didn't");vE.exports=wN(My.bind,My.lib)});var _E=Me((mb,gE)=>{"use strict";gE.exports=({onlyFirst:i=!1}={})=>{let u=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(u,i?void 0:"g")}});var Fy=Me((vb,yE)=>{"use strict";var EN=_E();yE.exports=i=>typeof i=="string"?i.replace(EN(),""):i});var Ry=Me((gb,Ly)=>{"use strict";var wE=i=>Number.isNaN(i)?!1:i>=4352&&(i<=4447||i===9001||i===9002||11904<=i&&i<=12871&&i!==12351||12880<=i&&i<=19903||19968<=i&&i<=42182||43360<=i&&i<=43388||44032<=i&&i<=55203||63744<=i&&i<=64255||65040<=i&&i<=65049||65072<=i&&i<=65131||65281<=i&&i<=65376||65504<=i&&i<=65510||110592<=i&&i<=110593||127488<=i&&i<=127569||131072<=i&&i<=262141);Ly.exports=wE;Ly.exports.default=wE});var EE=Me((_b,DE)=>{"use strict";DE.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var Mh=Me((yb,Ny)=>{"use strict";var SN=Fy(),CN=Ry(),TN=EE(),SE=i=>{if(i=i.replace(TN()," "),typeof i!="string"||i.length===0)return 0;i=SN(i);let u=0;for(let f=0;f=127&&c<=159||c>=768&&c<=879||(c>65535&&f++,u+=CN(c)?2:1)}return u};Ny.exports=SE;Ny.exports.default=SE});var jy=Me((wb,By)=>{"use strict";var xN=Mh(),CE=i=>{let u=0;for(let f of i.split(` -`))u=Math.max(u,xN(f));return u};By.exports=CE;By.exports.default=CE});var TE=Me(a2=>{"use strict";var kN=a2&&a2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(a2,"__esModule",{value:!0});var AN=kN(jy()),Uy={};a2.default=i=>{if(i.length===0)return{width:0,height:0};if(Uy[i])return Uy[i];let u=AN.default(i),f=i.split(` -`).length;return Uy[i]={width:u,height:f},{width:u,height:f}}});var xE=Me(d2=>{"use strict";var ON=d2&&d2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(d2,"__esModule",{value:!0});var hr=ON(hc()),IN=(i,u)=>{"position"in u&&i.setPositionType(u.position==="absolute"?hr.default.POSITION_TYPE_ABSOLUTE:hr.default.POSITION_TYPE_RELATIVE)},PN=(i,u)=>{"marginLeft"in u&&i.setMargin(hr.default.EDGE_START,u.marginLeft||0),"marginRight"in u&&i.setMargin(hr.default.EDGE_END,u.marginRight||0),"marginTop"in u&&i.setMargin(hr.default.EDGE_TOP,u.marginTop||0),"marginBottom"in u&&i.setMargin(hr.default.EDGE_BOTTOM,u.marginBottom||0)},MN=(i,u)=>{"paddingLeft"in u&&i.setPadding(hr.default.EDGE_LEFT,u.paddingLeft||0),"paddingRight"in u&&i.setPadding(hr.default.EDGE_RIGHT,u.paddingRight||0),"paddingTop"in u&&i.setPadding(hr.default.EDGE_TOP,u.paddingTop||0),"paddingBottom"in u&&i.setPadding(hr.default.EDGE_BOTTOM,u.paddingBottom||0)},FN=(i,u)=>{var f;"flexGrow"in u&&i.setFlexGrow((f=u.flexGrow)!==null&&f!==void 0?f:0),"flexShrink"in u&&i.setFlexShrink(typeof u.flexShrink=="number"?u.flexShrink:1),"flexDirection"in u&&(u.flexDirection==="row"&&i.setFlexDirection(hr.default.FLEX_DIRECTION_ROW),u.flexDirection==="row-reverse"&&i.setFlexDirection(hr.default.FLEX_DIRECTION_ROW_REVERSE),u.flexDirection==="column"&&i.setFlexDirection(hr.default.FLEX_DIRECTION_COLUMN),u.flexDirection==="column-reverse"&&i.setFlexDirection(hr.default.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in u&&(typeof u.flexBasis=="number"?i.setFlexBasis(u.flexBasis):typeof u.flexBasis=="string"?i.setFlexBasisPercent(Number.parseInt(u.flexBasis,10)):i.setFlexBasis(NaN)),"alignItems"in u&&((u.alignItems==="stretch"||!u.alignItems)&&i.setAlignItems(hr.default.ALIGN_STRETCH),u.alignItems==="flex-start"&&i.setAlignItems(hr.default.ALIGN_FLEX_START),u.alignItems==="center"&&i.setAlignItems(hr.default.ALIGN_CENTER),u.alignItems==="flex-end"&&i.setAlignItems(hr.default.ALIGN_FLEX_END)),"alignSelf"in u&&((u.alignSelf==="auto"||!u.alignSelf)&&i.setAlignSelf(hr.default.ALIGN_AUTO),u.alignSelf==="flex-start"&&i.setAlignSelf(hr.default.ALIGN_FLEX_START),u.alignSelf==="center"&&i.setAlignSelf(hr.default.ALIGN_CENTER),u.alignSelf==="flex-end"&&i.setAlignSelf(hr.default.ALIGN_FLEX_END)),"justifyContent"in u&&((u.justifyContent==="flex-start"||!u.justifyContent)&&i.setJustifyContent(hr.default.JUSTIFY_FLEX_START),u.justifyContent==="center"&&i.setJustifyContent(hr.default.JUSTIFY_CENTER),u.justifyContent==="flex-end"&&i.setJustifyContent(hr.default.JUSTIFY_FLEX_END),u.justifyContent==="space-between"&&i.setJustifyContent(hr.default.JUSTIFY_SPACE_BETWEEN),u.justifyContent==="space-around"&&i.setJustifyContent(hr.default.JUSTIFY_SPACE_AROUND))},LN=(i,u)=>{var f,c;"width"in u&&(typeof u.width=="number"?i.setWidth(u.width):typeof u.width=="string"?i.setWidthPercent(Number.parseInt(u.width,10)):i.setWidthAuto()),"height"in u&&(typeof u.height=="number"?i.setHeight(u.height):typeof u.height=="string"?i.setHeightPercent(Number.parseInt(u.height,10)):i.setHeightAuto()),"minWidth"in u&&(typeof u.minWidth=="string"?i.setMinWidthPercent(Number.parseInt(u.minWidth,10)):i.setMinWidth((f=u.minWidth)!==null&&f!==void 0?f:0)),"minHeight"in u&&(typeof u.minHeight=="string"?i.setMinHeightPercent(Number.parseInt(u.minHeight,10)):i.setMinHeight((c=u.minHeight)!==null&&c!==void 0?c:0))},RN=(i,u)=>{"display"in u&&i.setDisplay(u.display==="flex"?hr.default.DISPLAY_FLEX:hr.default.DISPLAY_NONE)},NN=(i,u)=>{if("borderStyle"in u){let f=typeof u.borderStyle=="string"?1:0;i.setBorder(hr.default.EDGE_TOP,f),i.setBorder(hr.default.EDGE_BOTTOM,f),i.setBorder(hr.default.EDGE_LEFT,f),i.setBorder(hr.default.EDGE_RIGHT,f)}};d2.default=(i,u={})=>{IN(i,u),PN(i,u),MN(i,u),FN(i,u),LN(i,u),RN(i,u),NN(i,u)}});var AE=Me((Sb,kE)=>{"use strict";kE.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var qy=Me((Cb,OE)=>{var p2=AE(),IE={};for(let i of Object.keys(p2))IE[p2[i]]=i;var Xt={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};OE.exports=Xt;for(let i of Object.keys(Xt)){if(!("channels"in Xt[i]))throw new Error("missing channels property: "+i);if(!("labels"in Xt[i]))throw new Error("missing channel labels property: "+i);if(Xt[i].labels.length!==Xt[i].channels)throw new Error("channel and label counts mismatch: "+i);let{channels:u,labels:f}=Xt[i];delete Xt[i].channels,delete Xt[i].labels,Object.defineProperty(Xt[i],"channels",{value:u}),Object.defineProperty(Xt[i],"labels",{value:f})}Xt.rgb.hsl=function(i){let u=i[0]/255,f=i[1]/255,c=i[2]/255,g=Math.min(u,f,c),t=Math.max(u,f,c),C=t-g,A,x;t===g?A=0:u===t?A=(f-c)/C:f===t?A=2+(c-u)/C:c===t&&(A=4+(u-f)/C),A=Math.min(A*60,360),A<0&&(A+=360);let D=(g+t)/2;return t===g?x=0:D<=.5?x=C/(t+g):x=C/(2-t-g),[A,x*100,D*100]};Xt.rgb.hsv=function(i){let u,f,c,g,t,C=i[0]/255,A=i[1]/255,x=i[2]/255,D=Math.max(C,A,x),L=D-Math.min(C,A,x),N=function(j){return(D-j)/6/L+1/2};return L===0?(g=0,t=0):(t=L/D,u=N(C),f=N(A),c=N(x),C===D?g=c-f:A===D?g=1/3+u-c:x===D&&(g=2/3+f-u),g<0?g+=1:g>1&&(g-=1)),[g*360,t*100,D*100]};Xt.rgb.hwb=function(i){let u=i[0],f=i[1],c=i[2],g=Xt.rgb.hsl(i)[0],t=1/255*Math.min(u,Math.min(f,c));return c=1-1/255*Math.max(u,Math.max(f,c)),[g,t*100,c*100]};Xt.rgb.cmyk=function(i){let u=i[0]/255,f=i[1]/255,c=i[2]/255,g=Math.min(1-u,1-f,1-c),t=(1-u-g)/(1-g)||0,C=(1-f-g)/(1-g)||0,A=(1-c-g)/(1-g)||0;return[t*100,C*100,A*100,g*100]};function BN(i,u){return(i[0]-u[0])**2+(i[1]-u[1])**2+(i[2]-u[2])**2}Xt.rgb.keyword=function(i){let u=IE[i];if(u)return u;let f=Infinity,c;for(let g of Object.keys(p2)){let t=p2[g],C=BN(i,t);C.04045?((u+.055)/1.055)**2.4:u/12.92,f=f>.04045?((f+.055)/1.055)**2.4:f/12.92,c=c>.04045?((c+.055)/1.055)**2.4:c/12.92;let g=u*.4124+f*.3576+c*.1805,t=u*.2126+f*.7152+c*.0722,C=u*.0193+f*.1192+c*.9505;return[g*100,t*100,C*100]};Xt.rgb.lab=function(i){let u=Xt.rgb.xyz(i),f=u[0],c=u[1],g=u[2];f/=95.047,c/=100,g/=108.883,f=f>.008856?f**(1/3):7.787*f+16/116,c=c>.008856?c**(1/3):7.787*c+16/116,g=g>.008856?g**(1/3):7.787*g+16/116;let t=116*c-16,C=500*(f-c),A=200*(c-g);return[t,C,A]};Xt.hsl.rgb=function(i){let u=i[0]/360,f=i[1]/100,c=i[2]/100,g,t,C;if(f===0)return C=c*255,[C,C,C];c<.5?g=c*(1+f):g=c+f-c*f;let A=2*c-g,x=[0,0,0];for(let D=0;D<3;D++)t=u+1/3*-(D-1),t<0&&t++,t>1&&t--,6*t<1?C=A+(g-A)*6*t:2*t<1?C=g:3*t<2?C=A+(g-A)*(2/3-t)*6:C=A,x[D]=C*255;return x};Xt.hsl.hsv=function(i){let u=i[0],f=i[1]/100,c=i[2]/100,g=f,t=Math.max(c,.01);c*=2,f*=c<=1?c:2-c,g*=t<=1?t:2-t;let C=(c+f)/2,A=c===0?2*g/(t+g):2*f/(c+f);return[u,A*100,C*100]};Xt.hsv.rgb=function(i){let u=i[0]/60,f=i[1]/100,c=i[2]/100,g=Math.floor(u)%6,t=u-Math.floor(u),C=255*c*(1-f),A=255*c*(1-f*t),x=255*c*(1-f*(1-t));switch(c*=255,g){case 0:return[c,x,C];case 1:return[A,c,C];case 2:return[C,c,x];case 3:return[C,A,c];case 4:return[x,C,c];case 5:return[c,C,A]}};Xt.hsv.hsl=function(i){let u=i[0],f=i[1]/100,c=i[2]/100,g=Math.max(c,.01),t,C;C=(2-f)*c;let A=(2-f)*g;return t=f*g,t/=A<=1?A:2-A,t=t||0,C/=2,[u,t*100,C*100]};Xt.hwb.rgb=function(i){let u=i[0]/360,f=i[1]/100,c=i[2]/100,g=f+c,t;g>1&&(f/=g,c/=g);let C=Math.floor(6*u),A=1-c;t=6*u-C,(C&1)!=0&&(t=1-t);let x=f+t*(A-f),D,L,N;switch(C){default:case 6:case 0:D=A,L=x,N=f;break;case 1:D=x,L=A,N=f;break;case 2:D=f,L=A,N=x;break;case 3:D=f,L=x,N=A;break;case 4:D=x,L=f,N=A;break;case 5:D=A,L=f,N=x;break}return[D*255,L*255,N*255]};Xt.cmyk.rgb=function(i){let u=i[0]/100,f=i[1]/100,c=i[2]/100,g=i[3]/100,t=1-Math.min(1,u*(1-g)+g),C=1-Math.min(1,f*(1-g)+g),A=1-Math.min(1,c*(1-g)+g);return[t*255,C*255,A*255]};Xt.xyz.rgb=function(i){let u=i[0]/100,f=i[1]/100,c=i[2]/100,g,t,C;return g=u*3.2406+f*-1.5372+c*-.4986,t=u*-.9689+f*1.8758+c*.0415,C=u*.0557+f*-.204+c*1.057,g=g>.0031308?1.055*g**(1/2.4)-.055:g*12.92,t=t>.0031308?1.055*t**(1/2.4)-.055:t*12.92,C=C>.0031308?1.055*C**(1/2.4)-.055:C*12.92,g=Math.min(Math.max(0,g),1),t=Math.min(Math.max(0,t),1),C=Math.min(Math.max(0,C),1),[g*255,t*255,C*255]};Xt.xyz.lab=function(i){let u=i[0],f=i[1],c=i[2];u/=95.047,f/=100,c/=108.883,u=u>.008856?u**(1/3):7.787*u+16/116,f=f>.008856?f**(1/3):7.787*f+16/116,c=c>.008856?c**(1/3):7.787*c+16/116;let g=116*f-16,t=500*(u-f),C=200*(f-c);return[g,t,C]};Xt.lab.xyz=function(i){let u=i[0],f=i[1],c=i[2],g,t,C;t=(u+16)/116,g=f/500+t,C=t-c/200;let A=t**3,x=g**3,D=C**3;return t=A>.008856?A:(t-16/116)/7.787,g=x>.008856?x:(g-16/116)/7.787,C=D>.008856?D:(C-16/116)/7.787,g*=95.047,t*=100,C*=108.883,[g,t,C]};Xt.lab.lch=function(i){let u=i[0],f=i[1],c=i[2],g;g=Math.atan2(c,f)*360/2/Math.PI,g<0&&(g+=360);let C=Math.sqrt(f*f+c*c);return[u,C,g]};Xt.lch.lab=function(i){let u=i[0],f=i[1],g=i[2]/360*2*Math.PI,t=f*Math.cos(g),C=f*Math.sin(g);return[u,t,C]};Xt.rgb.ansi16=function(i,u=null){let[f,c,g]=i,t=u===null?Xt.rgb.hsv(i)[2]:u;if(t=Math.round(t/50),t===0)return 30;let C=30+(Math.round(g/255)<<2|Math.round(c/255)<<1|Math.round(f/255));return t===2&&(C+=60),C};Xt.hsv.ansi16=function(i){return Xt.rgb.ansi16(Xt.hsv.rgb(i),i[2])};Xt.rgb.ansi256=function(i){let u=i[0],f=i[1],c=i[2];return u===f&&f===c?u<8?16:u>248?231:Math.round((u-8)/247*24)+232:16+36*Math.round(u/255*5)+6*Math.round(f/255*5)+Math.round(c/255*5)};Xt.ansi16.rgb=function(i){let u=i%10;if(u===0||u===7)return i>50&&(u+=3.5),u=u/10.5*255,[u,u,u];let f=(~~(i>50)+1)*.5,c=(u&1)*f*255,g=(u>>1&1)*f*255,t=(u>>2&1)*f*255;return[c,g,t]};Xt.ansi256.rgb=function(i){if(i>=232){let t=(i-232)*10+8;return[t,t,t]}i-=16;let u,f=Math.floor(i/36)/5*255,c=Math.floor((u=i%36)/6)/5*255,g=u%6/5*255;return[f,c,g]};Xt.rgb.hex=function(i){let f=(((Math.round(i[0])&255)<<16)+((Math.round(i[1])&255)<<8)+(Math.round(i[2])&255)).toString(16).toUpperCase();return"000000".substring(f.length)+f};Xt.hex.rgb=function(i){let u=i.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!u)return[0,0,0];let f=u[0];u[0].length===3&&(f=f.split("").map(A=>A+A).join(""));let c=parseInt(f,16),g=c>>16&255,t=c>>8&255,C=c&255;return[g,t,C]};Xt.rgb.hcg=function(i){let u=i[0]/255,f=i[1]/255,c=i[2]/255,g=Math.max(Math.max(u,f),c),t=Math.min(Math.min(u,f),c),C=g-t,A,x;return C<1?A=t/(1-C):A=0,C<=0?x=0:g===u?x=(f-c)/C%6:g===f?x=2+(c-u)/C:x=4+(u-f)/C,x/=6,x%=1,[x*360,C*100,A*100]};Xt.hsl.hcg=function(i){let u=i[1]/100,f=i[2]/100,c=f<.5?2*u*f:2*u*(1-f),g=0;return c<1&&(g=(f-.5*c)/(1-c)),[i[0],c*100,g*100]};Xt.hsv.hcg=function(i){let u=i[1]/100,f=i[2]/100,c=u*f,g=0;return c<1&&(g=(f-c)/(1-c)),[i[0],c*100,g*100]};Xt.hcg.rgb=function(i){let u=i[0]/360,f=i[1]/100,c=i[2]/100;if(f===0)return[c*255,c*255,c*255];let g=[0,0,0],t=u%1*6,C=t%1,A=1-C,x=0;switch(Math.floor(t)){case 0:g[0]=1,g[1]=C,g[2]=0;break;case 1:g[0]=A,g[1]=1,g[2]=0;break;case 2:g[0]=0,g[1]=1,g[2]=C;break;case 3:g[0]=0,g[1]=A,g[2]=1;break;case 4:g[0]=C,g[1]=0,g[2]=1;break;default:g[0]=1,g[1]=0,g[2]=A}return x=(1-f)*c,[(f*g[0]+x)*255,(f*g[1]+x)*255,(f*g[2]+x)*255]};Xt.hcg.hsv=function(i){let u=i[1]/100,f=i[2]/100,c=u+f*(1-u),g=0;return c>0&&(g=u/c),[i[0],g*100,c*100]};Xt.hcg.hsl=function(i){let u=i[1]/100,c=i[2]/100*(1-u)+.5*u,g=0;return c>0&&c<.5?g=u/(2*c):c>=.5&&c<1&&(g=u/(2*(1-c))),[i[0],g*100,c*100]};Xt.hcg.hwb=function(i){let u=i[1]/100,f=i[2]/100,c=u+f*(1-u);return[i[0],(c-u)*100,(1-c)*100]};Xt.hwb.hcg=function(i){let u=i[1]/100,f=i[2]/100,c=1-f,g=c-u,t=0;return g<1&&(t=(c-g)/(1-g)),[i[0],g*100,t*100]};Xt.apple.rgb=function(i){return[i[0]/65535*255,i[1]/65535*255,i[2]/65535*255]};Xt.rgb.apple=function(i){return[i[0]/255*65535,i[1]/255*65535,i[2]/255*65535]};Xt.gray.rgb=function(i){return[i[0]/100*255,i[0]/100*255,i[0]/100*255]};Xt.gray.hsl=function(i){return[0,0,i[0]]};Xt.gray.hsv=Xt.gray.hsl;Xt.gray.hwb=function(i){return[0,100,i[0]]};Xt.gray.cmyk=function(i){return[0,0,0,i[0]]};Xt.gray.lab=function(i){return[i[0],0,0]};Xt.gray.hex=function(i){let u=Math.round(i[0]/100*255)&255,c=((u<<16)+(u<<8)+u).toString(16).toUpperCase();return"000000".substring(c.length)+c};Xt.rgb.gray=function(i){return[(i[0]+i[1]+i[2])/3/255*100]}});var ME=Me((Tb,PE)=>{var Fh=qy();function jN(){let i={},u=Object.keys(Fh);for(let f=u.length,c=0;c{var zy=qy(),WN=ME(),Ca={},HN=Object.keys(zy);function bN(i){let u=function(...f){let c=f[0];return c==null?c:(c.length>1&&(f=c),i(f))};return"conversion"in i&&(u.conversion=i.conversion),u}function GN(i){let u=function(...f){let c=f[0];if(c==null)return c;c.length>1&&(f=c);let g=i(f);if(typeof g=="object")for(let t=g.length,C=0;C{Ca[i]={},Object.defineProperty(Ca[i],"channels",{value:zy[i].channels}),Object.defineProperty(Ca[i],"labels",{value:zy[i].labels});let u=WN(i);Object.keys(u).forEach(c=>{let g=u[c];Ca[i][c]=GN(g),Ca[i][c].raw=bN(g)})});FE.exports=Ca});var Rh=Me((kb,RE)=>{"use strict";var NE=(i,u)=>(...f)=>`[${i(...f)+u}m`,BE=(i,u)=>(...f)=>{let c=i(...f);return`[${38+u};5;${c}m`},jE=(i,u)=>(...f)=>{let c=i(...f);return`[${38+u};2;${c[0]};${c[1]};${c[2]}m`},Lh=i=>i,UE=(i,u,f)=>[i,u,f],Ta=(i,u,f)=>{Object.defineProperty(i,u,{get:()=>{let c=f();return Object.defineProperty(i,u,{value:c,enumerable:!0,configurable:!0}),c},enumerable:!0,configurable:!0})},Wy,xa=(i,u,f,c)=>{Wy===void 0&&(Wy=LE());let g=c?10:0,t={};for(let[C,A]of Object.entries(Wy)){let x=C==="ansi16"?"ansi":C;C===u?t[x]=i(f,g):typeof A=="object"&&(t[x]=i(A[u],g))}return t};function VN(){let i=new Map,u={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};u.color.gray=u.color.blackBright,u.bgColor.bgGray=u.bgColor.bgBlackBright,u.color.grey=u.color.blackBright,u.bgColor.bgGrey=u.bgColor.bgBlackBright;for(let[f,c]of Object.entries(u)){for(let[g,t]of Object.entries(c))u[g]={open:`[${t[0]}m`,close:`[${t[1]}m`},c[g]=u[g],i.set(t[0],t[1]);Object.defineProperty(u,f,{value:c,enumerable:!1})}return Object.defineProperty(u,"codes",{value:i,enumerable:!1}),u.color.close="",u.bgColor.close="",Ta(u.color,"ansi",()=>xa(NE,"ansi16",Lh,!1)),Ta(u.color,"ansi256",()=>xa(BE,"ansi256",Lh,!1)),Ta(u.color,"ansi16m",()=>xa(jE,"rgb",UE,!1)),Ta(u.bgColor,"ansi",()=>xa(NE,"ansi16",Lh,!0)),Ta(u.bgColor,"ansi256",()=>xa(BE,"ansi256",Lh,!0)),Ta(u.bgColor,"ansi16m",()=>xa(jE,"rgb",UE,!0)),u}Object.defineProperty(RE,"exports",{enumerable:!0,get:VN})});var WE=Me((Ab,qE)=>{"use strict";var h2=Mh(),YN=Fy(),$N=Rh(),Hy=new Set(["","\x9B"]),KN=39,zE=i=>`${Hy.values().next().value}[${i}m`,XN=i=>i.split(" ").map(u=>h2(u)),by=(i,u,f)=>{let c=[...u],g=!1,t=h2(YN(i[i.length-1]));for(let[C,A]of c.entries()){let x=h2(A);if(t+x<=f?i[i.length-1]+=A:(i.push(A),t=0),Hy.has(A))g=!0;else if(g&&A==="m"){g=!1;continue}g||(t+=x,t===f&&C0&&i.length>1&&(i[i.length-2]+=i.pop())},JN=i=>{let u=i.split(" "),f=u.length;for(;f>0&&!(h2(u[f-1])>0);)f--;return f===u.length?i:u.slice(0,f).join(" ")+u.slice(f).join("")},QN=(i,u,f={})=>{if(f.trim!==!1&&i.trim()==="")return"";let c="",g="",t,C=XN(i),A=[""];for(let[x,D]of i.split(" ").entries()){f.trim!==!1&&(A[A.length-1]=A[A.length-1].trimLeft());let L=h2(A[A.length-1]);if(x!==0&&(L>=u&&(f.wordWrap===!1||f.trim===!1)&&(A.push(""),L=0),(L>0||f.trim===!1)&&(A[A.length-1]+=" ",L++)),f.hard&&C[x]>u){let N=u-L,j=1+Math.floor((C[x]-N-1)/u);Math.floor((C[x]-1)/u)u&&L>0&&C[x]>0){if(f.wordWrap===!1&&Lu&&f.wordWrap===!1){by(A,D,u);continue}A[A.length-1]+=D}f.trim!==!1&&(A=A.map(JN)),c=A.join(` -`);for(let[x,D]of[...c].entries()){if(g+=D,Hy.has(D)){let N=parseFloat(/\d[^m]*/.exec(c.slice(x,x+4)));t=N===KN?null:N}let L=$N.codes.get(Number(t));t&&L&&(c[x+1]===` -`?g+=zE(L):D===` -`&&(g+=zE(t)))}return g};qE.exports=(i,u,f)=>String(i).normalize().replace(/\r\n/g,` -`).split(` -`).map(c=>QN(c,u,f)).join(` -`)});var GE=Me((Ob,HE)=>{"use strict";var bE="[\uD800-\uDBFF][\uDC00-\uDFFF]",ZN=i=>i&&i.exact?new RegExp(`^${bE}$`):new RegExp(bE,"g");HE.exports=ZN});var Gy=Me((Ib,VE)=>{"use strict";var eB=Ry(),tB=GE(),YE=Rh(),$E=["","\x9B"],Nh=i=>`${$E[0]}[${i}m`,KE=(i,u,f)=>{let c=[];i=[...i];for(let g of i){let t=g;g.match(";")&&(g=g.split(";")[0][0]+"0");let C=YE.codes.get(parseInt(g,10));if(C){let A=i.indexOf(C.toString());A>=0?i.splice(A,1):c.push(Nh(u?C:t))}else if(u){c.push(Nh(0));break}else c.push(Nh(t))}if(u&&(c=c.filter((g,t)=>c.indexOf(g)===t),f!==void 0)){let g=Nh(YE.codes.get(parseInt(f,10)));c=c.reduce((t,C)=>C===g?[C,...t]:[...t,C],[])}return c.join("")};VE.exports=(i,u,f)=>{let c=[...i.normalize()],g=[];f=typeof f=="number"?f:c.length;let t=!1,C,A=0,x="";for(let[D,L]of c.entries()){let N=!1;if($E.includes(L)){let j=/\d[^m]*/.exec(i.slice(D,D+18));C=j&&j.length>0?j[0]:void 0,Au&&A<=f)x+=L;else if(A===u&&!t&&C!==void 0)x=KE(g);else if(A>=f){x+=KE(g,!0,C);break}}return x}});var JE=Me((Pb,XE)=>{"use strict";var Bf=Gy(),nB=Mh();function Bh(i,u,f){if(i.charAt(u)===" ")return u;for(let c=1;c<=3;c++)if(f){if(i.charAt(u+c)===" ")return u+c}else if(i.charAt(u-c)===" ")return u-c;return u}XE.exports=(i,u,f)=>{f=dt({position:"end",preferTruncationOnSpace:!1},f);let{position:c,space:g,preferTruncationOnSpace:t}=f,C="\u2026",A=1;if(typeof i!="string")throw new TypeError(`Expected \`input\` to be a string, got ${typeof i}`);if(typeof u!="number")throw new TypeError(`Expected \`columns\` to be a number, got ${typeof u}`);if(u<1)return"";if(u===1)return C;let x=nB(i);if(x<=u)return i;if(c==="start"){if(t){let D=Bh(i,x-u+1,!0);return C+Bf(i,D,x).trim()}return g===!0&&(C+=" ",A=2),C+Bf(i,x-u+A,x)}if(c==="middle"){g===!0&&(C=" "+C+" ",A=3);let D=Math.floor(u/2);if(t){let L=Bh(i,D),N=Bh(i,x-(u-D)+1,!0);return Bf(i,0,L)+C+Bf(i,N,x).trim()}return Bf(i,0,D)+C+Bf(i,x-(u-D)+A,x)}if(c==="end"){if(t){let D=Bh(i,u-1);return Bf(i,0,D)+C}return g===!0&&(C=" "+C,A=2),Bf(i,0,u-A)+C}throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${c}`)}});var Yy=Me(m2=>{"use strict";var QE=m2&&m2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(m2,"__esModule",{value:!0});var rB=QE(WE()),iB=QE(JE()),Vy={};m2.default=(i,u,f)=>{let c=i+String(u)+String(f);if(Vy[c])return Vy[c];let g=i;if(f==="wrap"&&(g=rB.default(i,u,{trim:!1,hard:!0})),f.startsWith("truncate")){let t="end";f==="truncate-middle"&&(t="middle"),f==="truncate-start"&&(t="start"),g=iB.default(i,u,{position:t})}return Vy[c]=g,g}});var Ky=Me($y=>{"use strict";Object.defineProperty($y,"__esModule",{value:!0});var ZE=i=>{let u="";if(i.childNodes.length>0)for(let f of i.childNodes){let c="";f.nodeName==="#text"?c=f.nodeValue:((f.nodeName==="ink-text"||f.nodeName==="ink-virtual-text")&&(c=ZE(f)),c.length>0&&typeof f.internal_transform=="function"&&(c=f.internal_transform(c))),u+=c}return u};$y.default=ZE});var Xy=Me(Zr=>{"use strict";var v2=Zr&&Zr.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Zr,"__esModule",{value:!0});Zr.setTextNodeValue=Zr.createTextNode=Zr.setStyle=Zr.setAttribute=Zr.removeChildNode=Zr.insertBeforeNode=Zr.appendChildNode=Zr.createNode=Zr.TEXT_NAME=void 0;var oB=v2(hc()),e6=v2(TE()),uB=v2(xE()),sB=v2(Yy()),lB=v2(Ky());Zr.TEXT_NAME="#text";Zr.createNode=i=>{var u;let f={nodeName:i,style:{},attributes:{},childNodes:[],parentNode:null,yogaNode:i==="ink-virtual-text"?void 0:oB.default.Node.create()};return i==="ink-text"&&((u=f.yogaNode)===null||u===void 0||u.setMeasureFunc(fB.bind(null,f))),f};Zr.appendChildNode=(i,u)=>{var f;u.parentNode&&Zr.removeChildNode(u.parentNode,u),u.parentNode=i,i.childNodes.push(u),u.yogaNode&&((f=i.yogaNode)===null||f===void 0||f.insertChild(u.yogaNode,i.yogaNode.getChildCount())),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&jh(i)};Zr.insertBeforeNode=(i,u,f)=>{var c,g;u.parentNode&&Zr.removeChildNode(u.parentNode,u),u.parentNode=i;let t=i.childNodes.indexOf(f);if(t>=0){i.childNodes.splice(t,0,u),u.yogaNode&&((c=i.yogaNode)===null||c===void 0||c.insertChild(u.yogaNode,t));return}i.childNodes.push(u),u.yogaNode&&((g=i.yogaNode)===null||g===void 0||g.insertChild(u.yogaNode,i.yogaNode.getChildCount())),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&jh(i)};Zr.removeChildNode=(i,u)=>{var f,c;u.yogaNode&&((c=(f=u.parentNode)===null||f===void 0?void 0:f.yogaNode)===null||c===void 0||c.removeChild(u.yogaNode)),u.parentNode=null;let g=i.childNodes.indexOf(u);g>=0&&i.childNodes.splice(g,1),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&jh(i)};Zr.setAttribute=(i,u,f)=>{i.attributes[u]=f};Zr.setStyle=(i,u)=>{i.style=u,i.yogaNode&&uB.default(i.yogaNode,u)};Zr.createTextNode=i=>{let u={nodeName:"#text",nodeValue:i,yogaNode:void 0,parentNode:null,style:{}};return Zr.setTextNodeValue(u,i),u};var fB=function(i,u){var f,c;let g=i.nodeName==="#text"?i.nodeValue:lB.default(i),t=e6.default(g);if(t.width<=u||t.width>=1&&u>0&&u<1)return t;let C=(c=(f=i.style)===null||f===void 0?void 0:f.textWrap)!==null&&c!==void 0?c:"wrap",A=sB.default(g,u,C);return e6.default(A)},t6=i=>{var u;if(!(!i||!i.parentNode))return(u=i.yogaNode)!==null&&u!==void 0?u:t6(i.parentNode)},jh=i=>{let u=t6(i);u==null||u.markDirty()};Zr.setTextNodeValue=(i,u)=>{typeof u!="string"&&(u=String(u)),i.nodeValue=u,jh(i)}});var mc=Me((Rb,n6)=>{"use strict";n6.exports={BINARY_TYPES:["nodebuffer","arraybuffer","fragments"],GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),EMPTY_BUFFER:Buffer.alloc(0),NOOP:()=>{}}});var g2=Me((Nb,Jy)=>{"use strict";var{EMPTY_BUFFER:cB}=mc();function r6(i,u){if(i.length===0)return cB;if(i.length===1)return i[0];let f=Buffer.allocUnsafe(u),c=0;for(let g=0;g{"use strict";var l6=Symbol("kDone"),Qy=Symbol("kRun"),f6=class{constructor(u){this[l6]=()=>{this.pending--,this[Qy]()},this.concurrency=u||Infinity,this.jobs=[],this.pending=0}add(u){this.jobs.push(u),this[Qy]()}[Qy](){if(this.pending!==this.concurrency&&this.jobs.length){let u=this.jobs.shift();this.pending++,u(this[l6])}}};s6.exports=f6});var w2=Me((jb,a6)=>{"use strict";var _2=require("zlib"),d6=g2(),aB=c6(),{kStatusCode:p6,NOOP:dB}=mc(),pB=Buffer.from([0,0,255,255]),qh=Symbol("permessage-deflate"),Xl=Symbol("total-length"),y2=Symbol("callback"),jf=Symbol("buffers"),Zy=Symbol("error"),zh,h6=class{constructor(u,f,c){if(this._maxPayload=c|0,this._options=u||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!f,this._deflate=null,this._inflate=null,this.params=null,!zh){let g=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;zh=new aB(g)}}static get extensionName(){return"permessage-deflate"}offer(){let u={};return this._options.serverNoContextTakeover&&(u.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(u.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(u.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?u.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(u.client_max_window_bits=!0),u}accept(u){return u=this.normalizeParams(u),this.params=this._isServer?this.acceptAsServer(u):this.acceptAsClient(u),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let u=this._deflate[y2];this._deflate.close(),this._deflate=null,u&&u(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(u){let f=this._options,c=u.find(g=>!(f.serverNoContextTakeover===!1&&g.server_no_context_takeover||g.server_max_window_bits&&(f.serverMaxWindowBits===!1||typeof f.serverMaxWindowBits=="number"&&f.serverMaxWindowBits>g.server_max_window_bits)||typeof f.clientMaxWindowBits=="number"&&!g.client_max_window_bits));if(!c)throw new Error("None of the extension offers can be accepted");return f.serverNoContextTakeover&&(c.server_no_context_takeover=!0),f.clientNoContextTakeover&&(c.client_no_context_takeover=!0),typeof f.serverMaxWindowBits=="number"&&(c.server_max_window_bits=f.serverMaxWindowBits),typeof f.clientMaxWindowBits=="number"?c.client_max_window_bits=f.clientMaxWindowBits:(c.client_max_window_bits===!0||f.clientMaxWindowBits===!1)&&delete c.client_max_window_bits,c}acceptAsClient(u){let f=u[0];if(this._options.clientNoContextTakeover===!1&&f.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!f.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(f.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&f.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return f}normalizeParams(u){return u.forEach(f=>{Object.keys(f).forEach(c=>{let g=f[c];if(g.length>1)throw new Error(`Parameter "${c}" must have only a single value`);if(g=g[0],c==="client_max_window_bits"){if(g!==!0){let t=+g;if(!Number.isInteger(t)||t<8||t>15)throw new TypeError(`Invalid value for parameter "${c}": ${g}`);g=t}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${c}": ${g}`)}else if(c==="server_max_window_bits"){let t=+g;if(!Number.isInteger(t)||t<8||t>15)throw new TypeError(`Invalid value for parameter "${c}": ${g}`);g=t}else if(c==="client_no_context_takeover"||c==="server_no_context_takeover"){if(g!==!0)throw new TypeError(`Invalid value for parameter "${c}": ${g}`)}else throw new Error(`Unknown parameter "${c}"`);f[c]=g})}),u}decompress(u,f,c){zh.add(g=>{this._decompress(u,f,(t,C)=>{g(),c(t,C)})})}compress(u,f,c){zh.add(g=>{this._compress(u,f,(t,C)=>{g(),c(t,C)})})}_decompress(u,f,c){let g=this._isServer?"client":"server";if(!this._inflate){let t=`${g}_max_window_bits`,C=typeof this.params[t]!="number"?_2.Z_DEFAULT_WINDOWBITS:this.params[t];this._inflate=_2.createInflateRaw(zn(dt({},this._options.zlibInflateOptions),{windowBits:C})),this._inflate[qh]=this,this._inflate[Xl]=0,this._inflate[jf]=[],this._inflate.on("error",mB),this._inflate.on("data",m6)}this._inflate[y2]=c,this._inflate.write(u),f&&this._inflate.write(pB),this._inflate.flush(()=>{let t=this._inflate[Zy];if(t){this._inflate.close(),this._inflate=null,c(t);return}let C=d6.concat(this._inflate[jf],this._inflate[Xl]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[Xl]=0,this._inflate[jf]=[],f&&this.params[`${g}_no_context_takeover`]&&this._inflate.reset()),c(null,C)})}_compress(u,f,c){let g=this._isServer?"server":"client";if(!this._deflate){let t=`${g}_max_window_bits`,C=typeof this.params[t]!="number"?_2.Z_DEFAULT_WINDOWBITS:this.params[t];this._deflate=_2.createDeflateRaw(zn(dt({},this._options.zlibDeflateOptions),{windowBits:C})),this._deflate[Xl]=0,this._deflate[jf]=[],this._deflate.on("error",dB),this._deflate.on("data",hB)}this._deflate[y2]=c,this._deflate.write(u),this._deflate.flush(_2.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let t=d6.concat(this._deflate[jf],this._deflate[Xl]);f&&(t=t.slice(0,t.length-4)),this._deflate[y2]=null,this._deflate[Xl]=0,this._deflate[jf]=[],f&&this.params[`${g}_no_context_takeover`]&&this._deflate.reset(),c(null,t)})}};a6.exports=h6;function hB(i){this[jf].push(i),this[Xl]+=i.length}function m6(i){if(this[Xl]+=i.length,this[qh]._maxPayload<1||this[Xl]<=this[qh]._maxPayload){this[jf].push(i);return}this[Zy]=new RangeError("Max payload size exceeded"),this[Zy][p6]=1009,this.removeListener("data",m6),this.reset()}function mB(i){this[qh]._inflate=null,i[p6]=1007,this[y2](i)}});var t3=Me((Ub,e3)=>{"use strict";function v6(i){return i>=1e3&&i<=1014&&i!==1004&&i!==1005&&i!==1006||i>=3e3&&i<=4999}function g6(i){let u=i.length,f=0;for(;f=u||(i[f+1]&192)!=128||(i[f+2]&192)!=128||i[f]===224&&(i[f+1]&224)==128||i[f]===237&&(i[f+1]&224)==160)return!1;f+=3}else if((i[f]&248)==240){if(f+3>=u||(i[f+1]&192)!=128||(i[f+2]&192)!=128||(i[f+3]&192)!=128||i[f]===240&&(i[f+1]&240)==128||i[f]===244&&i[f+1]>143||i[f]>244)return!1;f+=4}else return!1;return!0}try{let i=require("utf-8-validate");typeof i=="object"&&(i=i.Validation.isValidUTF8),e3.exports={isValidStatusCode:v6,isValidUTF8(u){return u.length<150?g6(u):i(u)}}}catch(i){e3.exports={isValidStatusCode:v6,isValidUTF8:g6}}});var i3=Me((qb,_6)=>{"use strict";var{Writable:vB}=require("stream"),y6=w2(),{BINARY_TYPES:gB,EMPTY_BUFFER:_B,kStatusCode:yB,kWebSocket:wB}=mc(),{concat:n3,toArrayBuffer:DB,unmask:EB}=g2(),{isValidStatusCode:SB,isValidUTF8:w6}=t3(),D2=0,D6=1,E6=2,S6=3,r3=4,CB=5,C6=class extends vB{constructor(u,f,c,g){super();this._binaryType=u||gB[0],this[wB]=void 0,this._extensions=f||{},this._isServer=!!c,this._maxPayload=g|0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._state=D2,this._loop=!1}_write(u,f,c){if(this._opcode===8&&this._state==D2)return c();this._bufferedBytes+=u.length,this._buffers.push(u),this.startLoop(c)}consume(u){if(this._bufferedBytes-=u,u===this._buffers[0].length)return this._buffers.shift();if(u=c.length?f.set(this._buffers.shift(),g):(f.set(new Uint8Array(c.buffer,c.byteOffset,u),g),this._buffers[0]=c.slice(u)),u-=c.length}while(u>0);return f}startLoop(u){let f;this._loop=!0;do switch(this._state){case D2:f=this.getInfo();break;case D6:f=this.getPayloadLength16();break;case E6:f=this.getPayloadLength64();break;case S6:this.getMask();break;case r3:f=this.getData(u);break;default:this._loop=!1;return}while(this._loop);u(f)}getInfo(){if(this._bufferedBytes<2){this._loop=!1;return}let u=this.consume(2);if((u[0]&48)!=0)return this._loop=!1,ii(RangeError,"RSV2 and RSV3 must be clear",!0,1002);let f=(u[0]&64)==64;if(f&&!this._extensions[y6.extensionName])return this._loop=!1,ii(RangeError,"RSV1 must be clear",!0,1002);if(this._fin=(u[0]&128)==128,this._opcode=u[0]&15,this._payloadLength=u[1]&127,this._opcode===0){if(f)return this._loop=!1,ii(RangeError,"RSV1 must be clear",!0,1002);if(!this._fragmented)return this._loop=!1,ii(RangeError,"invalid opcode 0",!0,1002);this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented)return this._loop=!1,ii(RangeError,`invalid opcode ${this._opcode}`,!0,1002);this._compressed=f}else if(this._opcode>7&&this._opcode<11){if(!this._fin)return this._loop=!1,ii(RangeError,"FIN must be set",!0,1002);if(f)return this._loop=!1,ii(RangeError,"RSV1 must be clear",!0,1002);if(this._payloadLength>125)return this._loop=!1,ii(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002)}else return this._loop=!1,ii(RangeError,`invalid opcode ${this._opcode}`,!0,1002);if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(u[1]&128)==128,this._isServer){if(!this._masked)return this._loop=!1,ii(RangeError,"MASK must be set",!0,1002)}else if(this._masked)return this._loop=!1,ii(RangeError,"MASK must be clear",!0,1002);if(this._payloadLength===126)this._state=D6;else if(this._payloadLength===127)this._state=E6;else return this.haveLength()}getPayloadLength16(){if(this._bufferedBytes<2){this._loop=!1;return}return this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength()}getPayloadLength64(){if(this._bufferedBytes<8){this._loop=!1;return}let u=this.consume(8),f=u.readUInt32BE(0);return f>Math.pow(2,53-32)-1?(this._loop=!1,ii(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009)):(this._payloadLength=f*Math.pow(2,32)+u.readUInt32BE(4),this.haveLength())}haveLength(){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0))return this._loop=!1,ii(RangeError,"Max payload size exceeded",!1,1009);this._masked?this._state=S6:this._state=r3}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=r3}getData(u){let f=_B;if(this._payloadLength){if(this._bufferedBytes7)return this.controlMessage(f);if(this._compressed){this._state=CB,this.decompress(f,u);return}return f.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(f)),this.dataMessage()}decompress(u,f){this._extensions[y6.extensionName].decompress(u,this._fin,(g,t)=>{if(g)return f(g);if(t.length){if(this._messageLength+=t.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return f(ii(RangeError,"Max payload size exceeded",!1,1009));this._fragments.push(t)}let C=this.dataMessage();if(C)return f(C);this.startLoop(f)})}dataMessage(){if(this._fin){let u=this._messageLength,f=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let c;this._binaryType==="nodebuffer"?c=n3(f,u):this._binaryType==="arraybuffer"?c=DB(n3(f,u)):c=f,this.emit("message",c)}else{let c=n3(f,u);if(!w6(c))return this._loop=!1,ii(Error,"invalid UTF-8 sequence",!0,1007);this.emit("message",c.toString())}}this._state=D2}controlMessage(u){if(this._opcode===8)if(this._loop=!1,u.length===0)this.emit("conclude",1005,""),this.end();else{if(u.length===1)return ii(RangeError,"invalid payload length 1",!0,1002);{let f=u.readUInt16BE(0);if(!SB(f))return ii(RangeError,`invalid status code ${f}`,!0,1002);let c=u.slice(2);if(!w6(c))return ii(Error,"invalid UTF-8 sequence",!0,1007);this.emit("conclude",f,c.toString()),this.end()}}else this._opcode===9?this.emit("ping",u):this.emit("pong",u);this._state=D2}};_6.exports=C6;function ii(i,u,f,c){let g=new i(f?`Invalid WebSocket frame: ${u}`:u);return Error.captureStackTrace(g,ii),g[yB]=c,g}});var o3=Me((zb,T6)=>{"use strict";var{randomFillSync:TB}=require("crypto"),x6=w2(),{EMPTY_BUFFER:xB}=mc(),{isValidStatusCode:kB}=t3(),{mask:k6,toBuffer:Jl}=g2(),vc=Buffer.alloc(4),Ql=class{constructor(u,f){this._extensions=f||{},this._socket=u,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._deflating=!1,this._queue=[]}static frame(u,f){let c=f.mask&&f.readOnly,g=f.mask?6:2,t=u.length;u.length>=65536?(g+=8,t=127):u.length>125&&(g+=2,t=126);let C=Buffer.allocUnsafe(c?u.length+g:g);return C[0]=f.fin?f.opcode|128:f.opcode,f.rsv1&&(C[0]|=64),C[1]=t,t===126?C.writeUInt16BE(u.length,2):t===127&&(C.writeUInt32BE(0,2),C.writeUInt32BE(u.length,6)),f.mask?(TB(vc,0,4),C[1]|=128,C[g-4]=vc[0],C[g-3]=vc[1],C[g-2]=vc[2],C[g-1]=vc[3],c?(k6(u,vc,C,g,u.length),[C]):(k6(u,vc,u,0,u.length),[C,u])):[C,u]}close(u,f,c,g){let t;if(u===void 0)t=xB;else{if(typeof u!="number"||!kB(u))throw new TypeError("First argument must be a valid error code number");if(f===void 0||f==="")t=Buffer.allocUnsafe(2),t.writeUInt16BE(u,0);else{let C=Buffer.byteLength(f);if(C>123)throw new RangeError("The message must not be greater than 123 bytes");t=Buffer.allocUnsafe(2+C),t.writeUInt16BE(u,0),t.write(f,2)}}this._deflating?this.enqueue([this.doClose,t,c,g]):this.doClose(t,c,g)}doClose(u,f,c){this.sendFrame(Ql.frame(u,{fin:!0,rsv1:!1,opcode:8,mask:f,readOnly:!1}),c)}ping(u,f,c){let g=Jl(u);if(g.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPing,g,f,Jl.readOnly,c]):this.doPing(g,f,Jl.readOnly,c)}doPing(u,f,c,g){this.sendFrame(Ql.frame(u,{fin:!0,rsv1:!1,opcode:9,mask:f,readOnly:c}),g)}pong(u,f,c){let g=Jl(u);if(g.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPong,g,f,Jl.readOnly,c]):this.doPong(g,f,Jl.readOnly,c)}doPong(u,f,c,g){this.sendFrame(Ql.frame(u,{fin:!0,rsv1:!1,opcode:10,mask:f,readOnly:c}),g)}send(u,f,c){let g=Jl(u),t=this._extensions[x6.extensionName],C=f.binary?2:1,A=f.compress;if(this._firstFragment?(this._firstFragment=!1,A&&t&&(A=g.length>=t._threshold),this._compress=A):(A=!1,C=0),f.fin&&(this._firstFragment=!0),t){let x={fin:f.fin,rsv1:A,opcode:C,mask:f.mask,readOnly:Jl.readOnly};this._deflating?this.enqueue([this.dispatch,g,this._compress,x,c]):this.dispatch(g,this._compress,x,c)}else this.sendFrame(Ql.frame(g,{fin:f.fin,rsv1:!1,opcode:C,mask:f.mask,readOnly:Jl.readOnly}),c)}dispatch(u,f,c,g){if(!f){this.sendFrame(Ql.frame(u,c),g);return}let t=this._extensions[x6.extensionName];this._bufferedBytes+=u.length,this._deflating=!0,t.compress(u,c.fin,(C,A)=>{if(this._socket.destroyed){let x=new Error("The socket was closed while data was being compressed");typeof g=="function"&&g(x);for(let D=0;D{"use strict";var E2=class{constructor(u,f){this.target=f,this.type=u}},O6=class extends E2{constructor(u,f){super("message",f);this.data=u}},I6=class extends E2{constructor(u,f,c){super("close",c);this.wasClean=c._closeFrameReceived&&c._closeFrameSent,this.reason=f,this.code=u}},P6=class extends E2{constructor(u){super("open",u)}},M6=class extends E2{constructor(u,f){super("error",f);this.message=u.message,this.error=u}},AB={addEventListener(i,u,f){if(typeof u!="function")return;function c(x){u.call(this,new O6(x,this))}function g(x,D){u.call(this,new I6(x,D,this))}function t(x){u.call(this,new M6(x,this))}function C(){u.call(this,new P6(this))}let A=f&&f.once?"once":"on";i==="message"?(c._listener=u,this[A](i,c)):i==="close"?(g._listener=u,this[A](i,g)):i==="error"?(t._listener=u,this[A](i,t)):i==="open"?(C._listener=u,this[A](i,C)):this[A](i,u)},removeEventListener(i,u){let f=this.listeners(i);for(let c=0;c{"use strict";var S2=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function rl(i,u,f){i[u]===void 0?i[u]=[f]:i[u].push(f)}function OB(i){let u=Object.create(null);if(i===void 0||i==="")return u;let f=Object.create(null),c=!1,g=!1,t=!1,C,A,x=-1,D=-1,L=0;for(;L{let f=i[u];return Array.isArray(f)||(f=[f]),f.map(c=>[u].concat(Object.keys(c).map(g=>{let t=c[g];return Array.isArray(t)||(t=[t]),t.map(C=>C===!0?g:`${g}=${C}`).join("; ")})).join("; ")).join(", ")}).join(", ")}L6.exports={format:IB,parse:OB}});var a3=Me((bb,R6)=>{"use strict";var PB=require("events"),MB=require("https"),FB=require("http"),N6=require("net"),LB=require("tls"),{randomBytes:RB,createHash:NB}=require("crypto"),{URL:s3}=require("url"),Uf=w2(),BB=i3(),jB=o3(),{BINARY_TYPES:B6,EMPTY_BUFFER:l3,GUID:UB,kStatusCode:qB,kWebSocket:No,NOOP:j6}=mc(),{addEventListener:zB,removeEventListener:WB}=F6(),{format:HB,parse:bB}=u3(),{toBuffer:GB}=g2(),U6=["CONNECTING","OPEN","CLOSING","CLOSED"],f3=[8,13],VB=30*1e3,mr=class extends PB{constructor(u,f,c){super();this._binaryType=B6[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage="",this._closeTimer=null,this._extensions={},this._protocol="",this._readyState=mr.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,u!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,Array.isArray(f)?f=f.join(", "):typeof f=="object"&&f!==null&&(c=f,f=void 0),q6(this,u,f,c)):this._isServer=!0}get binaryType(){return this._binaryType}set binaryType(u){!B6.includes(u)||(this._binaryType=u,this._receiver&&(this._receiver._binaryType=u))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(u,f,c){let g=new BB(this.binaryType,this._extensions,this._isServer,c);this._sender=new jB(u,this._extensions),this._receiver=g,this._socket=u,g[No]=this,u[No]=this,g.on("conclude",YB),g.on("drain",$B),g.on("error",KB),g.on("message",XB),g.on("ping",JB),g.on("pong",QB),u.setTimeout(0),u.setNoDelay(),f.length>0&&u.unshift(f),u.on("close",z6),u.on("data",Wh),u.on("end",W6),u.on("error",H6),this._readyState=mr.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=mr.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[Uf.extensionName]&&this._extensions[Uf.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=mr.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(u,f){if(this.readyState!==mr.CLOSED){if(this.readyState===mr.CONNECTING){let c="WebSocket was closed before the connection was established";return Zl(this,this._req,c)}if(this.readyState===mr.CLOSING){this._closeFrameSent&&this._closeFrameReceived&&this._socket.end();return}this._readyState=mr.CLOSING,this._sender.close(u,f,!this._isServer,c=>{c||(this._closeFrameSent=!0,this._closeFrameReceived&&this._socket.end())}),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),VB)}}ping(u,f,c){if(this.readyState===mr.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof u=="function"?(c=u,u=f=void 0):typeof f=="function"&&(c=f,f=void 0),typeof u=="number"&&(u=u.toString()),this.readyState!==mr.OPEN){c3(this,u,c);return}f===void 0&&(f=!this._isServer),this._sender.ping(u||l3,f,c)}pong(u,f,c){if(this.readyState===mr.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof u=="function"?(c=u,u=f=void 0):typeof f=="function"&&(c=f,f=void 0),typeof u=="number"&&(u=u.toString()),this.readyState!==mr.OPEN){c3(this,u,c);return}f===void 0&&(f=!this._isServer),this._sender.pong(u||l3,f,c)}send(u,f,c){if(this.readyState===mr.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof f=="function"&&(c=f,f={}),typeof u=="number"&&(u=u.toString()),this.readyState!==mr.OPEN){c3(this,u,c);return}let g=dt({binary:typeof u!="string",mask:!this._isServer,compress:!0,fin:!0},f);this._extensions[Uf.extensionName]||(g.compress=!1),this._sender.send(u||l3,g,c)}terminate(){if(this.readyState!==mr.CLOSED){if(this.readyState===mr.CONNECTING){let u="WebSocket was closed before the connection was established";return Zl(this,this._req,u)}this._socket&&(this._readyState=mr.CLOSING,this._socket.destroy())}}};U6.forEach((i,u)=>{let f={enumerable:!0,value:u};Object.defineProperty(mr.prototype,i,f),Object.defineProperty(mr,i,f)});["binaryType","bufferedAmount","extensions","protocol","readyState","url"].forEach(i=>{Object.defineProperty(mr.prototype,i,{enumerable:!0})});["open","error","close","message"].forEach(i=>{Object.defineProperty(mr.prototype,`on${i}`,{configurable:!0,enumerable:!0,get(){let u=this.listeners(i);for(let f=0;f{Zl(i,j,"Opening handshake has timed out")}),j.on("error",$=>{j===null||j.aborted||(j=i._req=null,i._readyState=mr.CLOSING,i.emit("error",$),i.emitClose())}),j.on("response",$=>{let h=$.headers.location,re=$.statusCode;if(h&&g.followRedirects&&re>=300&&re<400){if(++i._redirects>g.maxRedirects){Zl(i,j,"Maximum redirects exceeded");return}j.abort();let ce=new s3(h,u);q6(i,ce,f,c)}else i.emit("unexpected-response",j,$)||Zl(i,j,`Unexpected server response: ${$.statusCode}`)}),j.on("upgrade",($,h,re)=>{if(i.emit("upgrade",$),i.readyState!==mr.CONNECTING)return;j=i._req=null;let ce=NB("sha1").update(D+UB).digest("base64");if($.headers["sec-websocket-accept"]!==ce){Zl(i,h,"Invalid Sec-WebSocket-Accept header");return}let Q=$.headers["sec-websocket-protocol"],oe=(f||"").split(/, */),Se;if(!f&&Q?Se="Server sent a subprotocol but none was requested":f&&!Q?Se="Server sent no subprotocol":Q&&!oe.includes(Q)&&(Se="Server sent an invalid subprotocol"),Se){Zl(i,h,Se);return}if(Q&&(i._protocol=Q),N)try{let me=bB($.headers["sec-websocket-extensions"]);me[Uf.extensionName]&&(N.accept(me[Uf.extensionName]),i._extensions[Uf.extensionName]=N)}catch(me){Zl(i,h,"Invalid Sec-WebSocket-Extensions header");return}i.setSocket(h,re,g.maxPayload)})}function ZB(i){return i.path=i.socketPath,N6.connect(i)}function ej(i){return i.path=void 0,!i.servername&&i.servername!==""&&(i.servername=N6.isIP(i.host)?"":i.host),LB.connect(i)}function Zl(i,u,f){i._readyState=mr.CLOSING;let c=new Error(f);Error.captureStackTrace(c,Zl),u.setHeader?(u.abort(),u.socket&&!u.socket.destroyed&&u.socket.destroy(),u.once("abort",i.emitClose.bind(i)),i.emit("error",c)):(u.destroy(c),u.once("error",i.emit.bind(i,"error")),u.once("close",i.emitClose.bind(i)))}function c3(i,u,f){if(u){let c=GB(u).length;i._socket?i._sender._bufferedBytes+=c:i._bufferedAmount+=c}if(f){let c=new Error(`WebSocket is not open: readyState ${i.readyState} (${U6[i.readyState]})`);f(c)}}function YB(i,u){let f=this[No];f._socket.removeListener("data",Wh),f._socket.resume(),f._closeFrameReceived=!0,f._closeMessage=u,f._closeCode=i,i===1005?f.close():f.close(i,u)}function $B(){this[No]._socket.resume()}function KB(i){let u=this[No];u._socket.removeListener("data",Wh),u._readyState=mr.CLOSING,u._closeCode=i[qB],u.emit("error",i),u._socket.destroy()}function b6(){this[No].emitClose()}function XB(i){this[No].emit("message",i)}function JB(i){let u=this[No];u.pong(i,!u._isServer,j6),u.emit("ping",i)}function QB(i){this[No].emit("pong",i)}function z6(){let i=this[No];this.removeListener("close",z6),this.removeListener("end",W6),i._readyState=mr.CLOSING,i._socket.read(),i._receiver.end(),this.removeListener("data",Wh),this[No]=void 0,clearTimeout(i._closeTimer),i._receiver._writableState.finished||i._receiver._writableState.errorEmitted?i.emitClose():(i._receiver.on("error",b6),i._receiver.on("finish",b6))}function Wh(i){this[No]._receiver.write(i)||this.pause()}function W6(){let i=this[No];i._readyState=mr.CLOSING,i._receiver.end(),this.end()}function H6(){let i=this[No];this.removeListener("error",H6),this.on("error",j6),i&&(i._readyState=mr.CLOSING,this.destroy())}});var $6=Me((Gb,G6)=>{"use strict";var{Duplex:tj}=require("stream");function V6(i){i.emit("close")}function nj(){!this.destroyed&&this._writableState.finished&&this.destroy()}function Y6(i){this.removeListener("error",Y6),this.destroy(),this.listenerCount("error")===0&&this.emit("error",i)}function rj(i,u){let f=!0;function c(){f&&i._socket.resume()}i.readyState===i.CONNECTING?i.once("open",function(){i._receiver.removeAllListeners("drain"),i._receiver.on("drain",c)}):(i._receiver.removeAllListeners("drain"),i._receiver.on("drain",c));let g=new tj(zn(dt({},u),{autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1}));return i.on("message",function(C){g.push(C)||(f=!1,i._socket.pause())}),i.once("error",function(C){g.destroyed||g.destroy(C)}),i.once("close",function(){g.destroyed||g.push(null)}),g._destroy=function(t,C){if(i.readyState===i.CLOSED){C(t),process.nextTick(V6,g);return}let A=!1;i.once("error",function(D){A=!0,C(D)}),i.once("close",function(){A||C(t),process.nextTick(V6,g)}),i.terminate()},g._final=function(t){if(i.readyState===i.CONNECTING){i.once("open",function(){g._final(t)});return}i._socket!==null&&(i._socket._writableState.finished?(t(),g._readableState.endEmitted&&g.destroy()):(i._socket.once("finish",function(){t()}),i.close()))},g._read=function(){i.readyState===i.OPEN&&!f&&(f=!0,i._receiver._writableState.needDrain||i._socket.resume())},g._write=function(t,C,A){if(i.readyState===i.CONNECTING){i.once("open",function(){g._write(t,C,A)});return}i.send(t,A)},g.on("end",nj),g.on("error",Y6),g}G6.exports=rj});var J6=Me((Vb,K6)=>{"use strict";var ij=require("events"),{createHash:oj}=require("crypto"),{createServer:uj,STATUS_CODES:d3}=require("http"),gc=w2(),sj=a3(),{format:lj,parse:fj}=u3(),{GUID:cj,kWebSocket:aj}=mc(),dj=/^[+/0-9A-Za-z]{22}==$/,X6=class extends ij{constructor(u,f){super();if(u=dt({maxPayload:100*1024*1024,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null},u),u.port==null&&!u.server&&!u.noServer)throw new TypeError('One of the "port", "server", or "noServer" options must be specified');if(u.port!=null?(this._server=uj((c,g)=>{let t=d3[426];g.writeHead(426,{"Content-Length":t.length,"Content-Type":"text/plain"}),g.end(t)}),this._server.listen(u.port,u.host,u.backlog,f)):u.server&&(this._server=u.server),this._server){let c=this.emit.bind(this,"connection");this._removeListeners=pj(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(g,t,C)=>{this.handleUpgrade(g,t,C,c)}})}u.perMessageDeflate===!0&&(u.perMessageDeflate={}),u.clientTracking&&(this.clients=new Set),this.options=u}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(u){if(u&&this.once("close",u),this.clients)for(let c of this.clients)c.terminate();let f=this._server;if(f&&(this._removeListeners(),this._removeListeners=this._server=null,this.options.port!=null)){f.close(()=>this.emit("close"));return}process.nextTick(hj,this)}shouldHandle(u){if(this.options.path){let f=u.url.indexOf("?");if((f!==-1?u.url.slice(0,f):u.url)!==this.options.path)return!1}return!0}handleUpgrade(u,f,c,g){f.on("error",p3);let t=u.headers["sec-websocket-key"]!==void 0?u.headers["sec-websocket-key"].trim():!1,C=+u.headers["sec-websocket-version"],A={};if(u.method!=="GET"||u.headers.upgrade.toLowerCase()!=="websocket"||!t||!dj.test(t)||C!==8&&C!==13||!this.shouldHandle(u))return Hh(f,400);if(this.options.perMessageDeflate){let x=new gc(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let D=fj(u.headers["sec-websocket-extensions"]);D[gc.extensionName]&&(x.accept(D[gc.extensionName]),A[gc.extensionName]=x)}catch(D){return Hh(f,400)}}if(this.options.verifyClient){let x={origin:u.headers[`${C===8?"sec-websocket-origin":"origin"}`],secure:!!(u.socket.authorized||u.socket.encrypted),req:u};if(this.options.verifyClient.length===2){this.options.verifyClient(x,(D,L,N,j)=>{if(!D)return Hh(f,L||401,N,j);this.completeUpgrade(t,A,u,f,c,g)});return}if(!this.options.verifyClient(x))return Hh(f,401)}this.completeUpgrade(t,A,u,f,c,g)}completeUpgrade(u,f,c,g,t,C){if(!g.readable||!g.writable)return g.destroy();if(g[aj])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");let A=oj("sha1").update(u+cj).digest("base64"),x=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${A}`],D=new sj(null),L=c.headers["sec-websocket-protocol"];if(L&&(L=L.split(",").map(mj),this.options.handleProtocols?L=this.options.handleProtocols(L,c):L=L[0],L&&(x.push(`Sec-WebSocket-Protocol: ${L}`),D._protocol=L)),f[gc.extensionName]){let N=f[gc.extensionName].params,j=lj({[gc.extensionName]:[N]});x.push(`Sec-WebSocket-Extensions: ${j}`),D._extensions=f}this.emit("headers",x,c),g.write(x.concat(`\r -`).join(`\r -`)),g.removeListener("error",p3),D.setSocket(g,t,this.options.maxPayload),this.clients&&(this.clients.add(D),D.on("close",()=>this.clients.delete(D))),C(D,c)}};K6.exports=X6;function pj(i,u){for(let f of Object.keys(u))i.on(f,u[f]);return function(){for(let c of Object.keys(u))i.removeListener(c,u[c])}}function hj(i){i.emit("close")}function p3(){this.destroy()}function Hh(i,u,f,c){i.writable&&(f=f||d3[u],c=dt({Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(f)},c),i.write(`HTTP/1.1 ${u} ${d3[u]}\r -`+Object.keys(c).map(g=>`${g}: ${c[g]}`).join(`\r -`)+`\r -\r -`+f)),i.removeListener("error",p3),i.destroy()}function mj(i){return i.trim()}});var Z6=Me((Yb,Q6)=>{"use strict";var C2=a3();C2.createWebSocketStream=$6();C2.Server=J6();C2.Receiver=i3();C2.Sender=o3();Q6.exports=C2});var eS=Me(bh=>{"use strict";var vj=bh&&bh.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(bh,"__esModule",{value:!0});var gj=vj(Z6()),T2=global;T2.WebSocket||(T2.WebSocket=gj.default);T2.window||(T2.window=global);T2.window.__REACT_DEVTOOLS_COMPONENT_FILTERS__=[{type:1,value:7,isEnabled:!0},{type:2,value:"InternalApp",isEnabled:!0,isValid:!0},{type:2,value:"InternalAppContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdoutContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStderrContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdinContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalFocusContext",isEnabled:!0,isValid:!0}]});var tS=Me((Gh,h3)=>{(function(i,u){typeof Gh=="object"&&typeof h3=="object"?h3.exports=u():typeof define=="function"&&define.amd?define([],u):typeof Gh=="object"?Gh.ReactDevToolsBackend=u():i.ReactDevToolsBackend=u()})(window,function(){return function(i){var u={};function f(c){if(u[c])return u[c].exports;var g=u[c]={i:c,l:!1,exports:{}};return i[c].call(g.exports,g,g.exports,f),g.l=!0,g.exports}return f.m=i,f.c=u,f.d=function(c,g,t){f.o(c,g)||Object.defineProperty(c,g,{enumerable:!0,get:t})},f.r=function(c){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})},f.t=function(c,g){if(1&g&&(c=f(c)),8&g||4&g&&typeof c=="object"&&c&&c.__esModule)return c;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:c}),2&g&&typeof c!="string")for(var C in c)f.d(t,C,function(A){return c[A]}.bind(null,C));return t},f.n=function(c){var g=c&&c.__esModule?function(){return c.default}:function(){return c};return f.d(g,"a",g),g},f.o=function(c,g){return Object.prototype.hasOwnProperty.call(c,g)},f.p="",f(f.s=20)}([function(i,u,f){"use strict";i.exports=f(12)},function(i,u,f){"use strict";var c=Object.getOwnPropertySymbols,g=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable;function C(A){if(A==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(A)}i.exports=function(){try{if(!Object.assign)return!1;var A=new String("abc");if(A[5]="de",Object.getOwnPropertyNames(A)[0]==="5")return!1;for(var x={},D=0;D<10;D++)x["_"+String.fromCharCode(D)]=D;if(Object.getOwnPropertyNames(x).map(function(N){return x[N]}).join("")!=="0123456789")return!1;var L={};return"abcdefghijklmnopqrst".split("").forEach(function(N){L[N]=N}),Object.keys(Object.assign({},L)).join("")==="abcdefghijklmnopqrst"}catch(N){return!1}}()?Object.assign:function(A,x){for(var D,L,N=C(A),j=1;j=J||Ft<0||Nt&&it-At>=ot}function Z(){var it=ce();if(ge(it))return Ae(it);Ue=setTimeout(Z,function(Ft){var jt=J-(Ft-be);return Nt?re(jt,ot-(Ft-At)):jt}(it))}function Ae(it){return Ue=void 0,Je&&Oe?V(it):(Oe=Le=void 0,ct)}function at(){var it=ce(),Ft=ge(it);if(Oe=arguments,Le=this,be=it,Ft){if(Ue===void 0)return ne(be);if(Nt)return Ue=setTimeout(Z,J),V(be)}return Ue===void 0&&(Ue=setTimeout(Z,J)),ct}return J=me(J)||0,oe(Te)&&(Ot=!!Te.leading,ot=(Nt="maxWait"in Te)?h(me(Te.maxWait)||0,J):ot,Je="trailing"in Te?!!Te.trailing:Je),at.cancel=function(){Ue!==void 0&&clearTimeout(Ue),At=0,Oe=be=Le=Ue=void 0},at.flush=function(){return Ue===void 0?ct:Ae(ce())},at}function oe(De){var J=g(De);return!!De&&(J=="object"||J=="function")}function Se(De){return g(De)=="symbol"||function(J){return!!J&&g(J)=="object"}(De)&&$.call(De)=="[object Symbol]"}function me(De){if(typeof De=="number")return De;if(Se(De))return NaN;if(oe(De)){var J=typeof De.valueOf=="function"?De.valueOf():De;De=oe(J)?J+"":J}if(typeof De!="string")return De===0?De:+De;De=De.replace(t,"");var Te=A.test(De);return Te||x.test(De)?D(De.slice(2),Te?2:8):C.test(De)?NaN:+De}i.exports=function(De,J,Te){var Oe=!0,Le=!0;if(typeof De!="function")throw new TypeError("Expected a function");return oe(Te)&&(Oe="leading"in Te?!!Te.leading:Oe,Le="trailing"in Te?!!Te.trailing:Le),Q(De,J,{leading:Oe,maxWait:J,trailing:Le})}}).call(this,f(4))},function(i,u,f){(function(c){function g(V){return(g=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ne){return typeof ne}:function(ne){return ne&&typeof Symbol=="function"&&ne.constructor===Symbol&&ne!==Symbol.prototype?"symbol":typeof ne})(V)}var t;u=i.exports=h,t=(c===void 0?"undefined":g(c))==="object"&&c.env&&c.env.NODE_DEBUG&&/\bsemver\b/i.test(c.env.NODE_DEBUG)?function(){var V=Array.prototype.slice.call(arguments,0);V.unshift("SEMVER"),console.log.apply(console,V)}:function(){},u.SEMVER_SPEC_VERSION="2.0.0";var C=Number.MAX_SAFE_INTEGER||9007199254740991,A=u.re=[],x=u.src=[],D=u.tokens={},L=0;function N(V){D[V]=L++}N("NUMERICIDENTIFIER"),x[D.NUMERICIDENTIFIER]="0|[1-9]\\d*",N("NUMERICIDENTIFIERLOOSE"),x[D.NUMERICIDENTIFIERLOOSE]="[0-9]+",N("NONNUMERICIDENTIFIER"),x[D.NONNUMERICIDENTIFIER]="\\d*[a-zA-Z-][a-zA-Z0-9-]*",N("MAINVERSION"),x[D.MAINVERSION]="("+x[D.NUMERICIDENTIFIER]+")\\.("+x[D.NUMERICIDENTIFIER]+")\\.("+x[D.NUMERICIDENTIFIER]+")",N("MAINVERSIONLOOSE"),x[D.MAINVERSIONLOOSE]="("+x[D.NUMERICIDENTIFIERLOOSE]+")\\.("+x[D.NUMERICIDENTIFIERLOOSE]+")\\.("+x[D.NUMERICIDENTIFIERLOOSE]+")",N("PRERELEASEIDENTIFIER"),x[D.PRERELEASEIDENTIFIER]="(?:"+x[D.NUMERICIDENTIFIER]+"|"+x[D.NONNUMERICIDENTIFIER]+")",N("PRERELEASEIDENTIFIERLOOSE"),x[D.PRERELEASEIDENTIFIERLOOSE]="(?:"+x[D.NUMERICIDENTIFIERLOOSE]+"|"+x[D.NONNUMERICIDENTIFIER]+")",N("PRERELEASE"),x[D.PRERELEASE]="(?:-("+x[D.PRERELEASEIDENTIFIER]+"(?:\\."+x[D.PRERELEASEIDENTIFIER]+")*))",N("PRERELEASELOOSE"),x[D.PRERELEASELOOSE]="(?:-?("+x[D.PRERELEASEIDENTIFIERLOOSE]+"(?:\\."+x[D.PRERELEASEIDENTIFIERLOOSE]+")*))",N("BUILDIDENTIFIER"),x[D.BUILDIDENTIFIER]="[0-9A-Za-z-]+",N("BUILD"),x[D.BUILD]="(?:\\+("+x[D.BUILDIDENTIFIER]+"(?:\\."+x[D.BUILDIDENTIFIER]+")*))",N("FULL"),N("FULLPLAIN"),x[D.FULLPLAIN]="v?"+x[D.MAINVERSION]+x[D.PRERELEASE]+"?"+x[D.BUILD]+"?",x[D.FULL]="^"+x[D.FULLPLAIN]+"$",N("LOOSEPLAIN"),x[D.LOOSEPLAIN]="[v=\\s]*"+x[D.MAINVERSIONLOOSE]+x[D.PRERELEASELOOSE]+"?"+x[D.BUILD]+"?",N("LOOSE"),x[D.LOOSE]="^"+x[D.LOOSEPLAIN]+"$",N("GTLT"),x[D.GTLT]="((?:<|>)?=?)",N("XRANGEIDENTIFIERLOOSE"),x[D.XRANGEIDENTIFIERLOOSE]=x[D.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*",N("XRANGEIDENTIFIER"),x[D.XRANGEIDENTIFIER]=x[D.NUMERICIDENTIFIER]+"|x|X|\\*",N("XRANGEPLAIN"),x[D.XRANGEPLAIN]="[v=\\s]*("+x[D.XRANGEIDENTIFIER]+")(?:\\.("+x[D.XRANGEIDENTIFIER]+")(?:\\.("+x[D.XRANGEIDENTIFIER]+")(?:"+x[D.PRERELEASE]+")?"+x[D.BUILD]+"?)?)?",N("XRANGEPLAINLOOSE"),x[D.XRANGEPLAINLOOSE]="[v=\\s]*("+x[D.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+x[D.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+x[D.XRANGEIDENTIFIERLOOSE]+")(?:"+x[D.PRERELEASELOOSE]+")?"+x[D.BUILD]+"?)?)?",N("XRANGE"),x[D.XRANGE]="^"+x[D.GTLT]+"\\s*"+x[D.XRANGEPLAIN]+"$",N("XRANGELOOSE"),x[D.XRANGELOOSE]="^"+x[D.GTLT]+"\\s*"+x[D.XRANGEPLAINLOOSE]+"$",N("COERCE"),x[D.COERCE]="(^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])",N("COERCERTL"),A[D.COERCERTL]=new RegExp(x[D.COERCE],"g"),N("LONETILDE"),x[D.LONETILDE]="(?:~>?)",N("TILDETRIM"),x[D.TILDETRIM]="(\\s*)"+x[D.LONETILDE]+"\\s+",A[D.TILDETRIM]=new RegExp(x[D.TILDETRIM],"g"),N("TILDE"),x[D.TILDE]="^"+x[D.LONETILDE]+x[D.XRANGEPLAIN]+"$",N("TILDELOOSE"),x[D.TILDELOOSE]="^"+x[D.LONETILDE]+x[D.XRANGEPLAINLOOSE]+"$",N("LONECARET"),x[D.LONECARET]="(?:\\^)",N("CARETTRIM"),x[D.CARETTRIM]="(\\s*)"+x[D.LONECARET]+"\\s+",A[D.CARETTRIM]=new RegExp(x[D.CARETTRIM],"g"),N("CARET"),x[D.CARET]="^"+x[D.LONECARET]+x[D.XRANGEPLAIN]+"$",N("CARETLOOSE"),x[D.CARETLOOSE]="^"+x[D.LONECARET]+x[D.XRANGEPLAINLOOSE]+"$",N("COMPARATORLOOSE"),x[D.COMPARATORLOOSE]="^"+x[D.GTLT]+"\\s*("+x[D.LOOSEPLAIN]+")$|^$",N("COMPARATOR"),x[D.COMPARATOR]="^"+x[D.GTLT]+"\\s*("+x[D.FULLPLAIN]+")$|^$",N("COMPARATORTRIM"),x[D.COMPARATORTRIM]="(\\s*)"+x[D.GTLT]+"\\s*("+x[D.LOOSEPLAIN]+"|"+x[D.XRANGEPLAIN]+")",A[D.COMPARATORTRIM]=new RegExp(x[D.COMPARATORTRIM],"g"),N("HYPHENRANGE"),x[D.HYPHENRANGE]="^\\s*("+x[D.XRANGEPLAIN]+")\\s+-\\s+("+x[D.XRANGEPLAIN]+")\\s*$",N("HYPHENRANGELOOSE"),x[D.HYPHENRANGELOOSE]="^\\s*("+x[D.XRANGEPLAINLOOSE]+")\\s+-\\s+("+x[D.XRANGEPLAINLOOSE]+")\\s*$",N("STAR"),x[D.STAR]="(<|>)?=?\\s*\\*";for(var j=0;j256||!(ne.loose?A[D.LOOSE]:A[D.FULL]).test(V))return null;try{return new h(V,ne)}catch(ge){return null}}function h(V,ne){if(ne&&g(ne)==="object"||(ne={loose:!!ne,includePrerelease:!1}),V instanceof h){if(V.loose===ne.loose)return V;V=V.version}else if(typeof V!="string")throw new TypeError("Invalid Version: "+V);if(V.length>256)throw new TypeError("version is longer than 256 characters");if(!(this instanceof h))return new h(V,ne);t("SemVer",V,ne),this.options=ne,this.loose=!!ne.loose;var ge=V.trim().match(ne.loose?A[D.LOOSE]:A[D.FULL]);if(!ge)throw new TypeError("Invalid Version: "+V);if(this.raw=V,this.major=+ge[1],this.minor=+ge[2],this.patch=+ge[3],this.major>C||this.major<0)throw new TypeError("Invalid major version");if(this.minor>C||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>C||this.patch<0)throw new TypeError("Invalid patch version");ge[4]?this.prerelease=ge[4].split(".").map(function(Z){if(/^[0-9]+$/.test(Z)){var Ae=+Z;if(Ae>=0&&Ae=0;)typeof this.prerelease[ge]=="number"&&(this.prerelease[ge]++,ge=-2);ge===-1&&this.prerelease.push(0)}ne&&(this.prerelease[0]===ne?isNaN(this.prerelease[1])&&(this.prerelease=[ne,0]):this.prerelease=[ne,0]);break;default:throw new Error("invalid increment argument: "+V)}return this.format(),this.raw=this.version,this},u.inc=function(V,ne,ge,Z){typeof ge=="string"&&(Z=ge,ge=void 0);try{return new h(V,ge).inc(ne,Z).version}catch(Ae){return null}},u.diff=function(V,ne){if(me(V,ne))return null;var ge=$(V),Z=$(ne),Ae="";if(ge.prerelease.length||Z.prerelease.length){Ae="pre";var at="prerelease"}for(var it in ge)if((it==="major"||it==="minor"||it==="patch")&&ge[it]!==Z[it])return Ae+it;return at},u.compareIdentifiers=ce;var re=/^[0-9]+$/;function ce(V,ne){var ge=re.test(V),Z=re.test(ne);return ge&&Z&&(V=+V,ne=+ne),V===ne?0:ge&&!Z?-1:Z&&!ge?1:V0}function Se(V,ne,ge){return Q(V,ne,ge)<0}function me(V,ne,ge){return Q(V,ne,ge)===0}function De(V,ne,ge){return Q(V,ne,ge)!==0}function J(V,ne,ge){return Q(V,ne,ge)>=0}function Te(V,ne,ge){return Q(V,ne,ge)<=0}function Oe(V,ne,ge,Z){switch(ne){case"===":return g(V)==="object"&&(V=V.version),g(ge)==="object"&&(ge=ge.version),V===ge;case"!==":return g(V)==="object"&&(V=V.version),g(ge)==="object"&&(ge=ge.version),V!==ge;case"":case"=":case"==":return me(V,ge,Z);case"!=":return De(V,ge,Z);case">":return oe(V,ge,Z);case">=":return J(V,ge,Z);case"<":return Se(V,ge,Z);case"<=":return Te(V,ge,Z);default:throw new TypeError("Invalid operator: "+ne)}}function Le(V,ne){if(ne&&g(ne)==="object"||(ne={loose:!!ne,includePrerelease:!1}),V instanceof Le){if(V.loose===!!ne.loose)return V;V=V.value}if(!(this instanceof Le))return new Le(V,ne);t("comparator",V,ne),this.options=ne,this.loose=!!ne.loose,this.parse(V),this.semver===ot?this.value="":this.value=this.operator+this.semver.version,t("comp",this)}u.rcompareIdentifiers=function(V,ne){return ce(ne,V)},u.major=function(V,ne){return new h(V,ne).major},u.minor=function(V,ne){return new h(V,ne).minor},u.patch=function(V,ne){return new h(V,ne).patch},u.compare=Q,u.compareLoose=function(V,ne){return Q(V,ne,!0)},u.compareBuild=function(V,ne,ge){var Z=new h(V,ge),Ae=new h(ne,ge);return Z.compare(Ae)||Z.compareBuild(Ae)},u.rcompare=function(V,ne,ge){return Q(ne,V,ge)},u.sort=function(V,ne){return V.sort(function(ge,Z){return u.compareBuild(ge,Z,ne)})},u.rsort=function(V,ne){return V.sort(function(ge,Z){return u.compareBuild(Z,ge,ne)})},u.gt=oe,u.lt=Se,u.eq=me,u.neq=De,u.gte=J,u.lte=Te,u.cmp=Oe,u.Comparator=Le;var ot={};function ct(V,ne){if(ne&&g(ne)==="object"||(ne={loose:!!ne,includePrerelease:!1}),V instanceof ct)return V.loose===!!ne.loose&&V.includePrerelease===!!ne.includePrerelease?V:new ct(V.raw,ne);if(V instanceof Le)return new ct(V.value,ne);if(!(this instanceof ct))return new ct(V,ne);if(this.options=ne,this.loose=!!ne.loose,this.includePrerelease=!!ne.includePrerelease,this.raw=V,this.set=V.split(/\s*\|\|\s*/).map(function(ge){return this.parseRange(ge.trim())},this).filter(function(ge){return ge.length}),!this.set.length)throw new TypeError("Invalid SemVer Range: "+V);this.format()}function Ue(V,ne){for(var ge=!0,Z=V.slice(),Ae=Z.pop();ge&&Z.length;)ge=Z.every(function(at){return Ae.intersects(at,ne)}),Ae=Z.pop();return ge}function be(V){return!V||V.toLowerCase()==="x"||V==="*"}function At(V,ne,ge,Z,Ae,at,it,Ft,jt,hn,Un,Jt,Yt){return((ne=be(ge)?"":be(Z)?">="+ge+".0.0":be(Ae)?">="+ge+"."+Z+".0":">="+ne)+" "+(Ft=be(jt)?"":be(hn)?"<"+(+jt+1)+".0.0":be(Un)?"<"+jt+"."+(+hn+1)+".0":Jt?"<="+jt+"."+hn+"."+Un+"-"+Jt:"<="+Ft)).trim()}function Ot(V,ne,ge){for(var Z=0;Z0){var Ae=V[Z].semver;if(Ae.major===ne.major&&Ae.minor===ne.minor&&Ae.patch===ne.patch)return!0}return!1}return!0}function Nt(V,ne,ge){try{ne=new ct(ne,ge)}catch(Z){return!1}return ne.test(V)}function Je(V,ne,ge,Z){var Ae,at,it,Ft,jt;switch(V=new h(V,Z),ne=new ct(ne,Z),ge){case">":Ae=oe,at=Te,it=Se,Ft=">",jt=">=";break;case"<":Ae=Se,at=J,it=oe,Ft="<",jt="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Nt(V,ne,Z))return!1;for(var hn=0;hn=0.0.0")),Jt=Jt||cr,Yt=Yt||cr,Ae(cr.semver,Jt.semver,Z)?Jt=cr:it(cr.semver,Yt.semver,Z)&&(Yt=cr)}),Jt.operator===Ft||Jt.operator===jt||(!Yt.operator||Yt.operator===Ft)&&at(V,Yt.semver)||Yt.operator===jt&&it(V,Yt.semver))return!1}return!0}Le.prototype.parse=function(V){var ne=this.options.loose?A[D.COMPARATORLOOSE]:A[D.COMPARATOR],ge=V.match(ne);if(!ge)throw new TypeError("Invalid comparator: "+V);this.operator=ge[1]!==void 0?ge[1]:"",this.operator==="="&&(this.operator=""),ge[2]?this.semver=new h(ge[2],this.options.loose):this.semver=ot},Le.prototype.toString=function(){return this.value},Le.prototype.test=function(V){if(t("Comparator.test",V,this.options.loose),this.semver===ot||V===ot)return!0;if(typeof V=="string")try{V=new h(V,this.options)}catch(ne){return!1}return Oe(V,this.operator,this.semver,this.options)},Le.prototype.intersects=function(V,ne){if(!(V instanceof Le))throw new TypeError("a Comparator is required");var ge;if(ne&&g(ne)==="object"||(ne={loose:!!ne,includePrerelease:!1}),this.operator==="")return this.value===""||(ge=new ct(V.value,ne),Nt(this.value,ge,ne));if(V.operator==="")return V.value===""||(ge=new ct(this.value,ne),Nt(V.semver,ge,ne));var Z=!(this.operator!==">="&&this.operator!==">"||V.operator!==">="&&V.operator!==">"),Ae=!(this.operator!=="<="&&this.operator!=="<"||V.operator!=="<="&&V.operator!=="<"),at=this.semver.version===V.semver.version,it=!(this.operator!==">="&&this.operator!=="<="||V.operator!==">="&&V.operator!=="<="),Ft=Oe(this.semver,"<",V.semver,ne)&&(this.operator===">="||this.operator===">")&&(V.operator==="<="||V.operator==="<"),jt=Oe(this.semver,">",V.semver,ne)&&(this.operator==="<="||this.operator==="<")&&(V.operator===">="||V.operator===">");return Z||Ae||at&&it||Ft||jt},u.Range=ct,ct.prototype.format=function(){return this.range=this.set.map(function(V){return V.join(" ").trim()}).join("||").trim(),this.range},ct.prototype.toString=function(){return this.range},ct.prototype.parseRange=function(V){var ne=this.options.loose;V=V.trim();var ge=ne?A[D.HYPHENRANGELOOSE]:A[D.HYPHENRANGE];V=V.replace(ge,At),t("hyphen replace",V),V=V.replace(A[D.COMPARATORTRIM],"$1$2$3"),t("comparator trim",V,A[D.COMPARATORTRIM]),V=(V=(V=V.replace(A[D.TILDETRIM],"$1~")).replace(A[D.CARETTRIM],"$1^")).split(/\s+/).join(" ");var Z=ne?A[D.COMPARATORLOOSE]:A[D.COMPARATOR],Ae=V.split(" ").map(function(at){return function(it,Ft){return t("comp",it,Ft),it=function(jt,hn){return jt.trim().split(/\s+/).map(function(Un){return function(Jt,Yt){t("caret",Jt,Yt);var cr=Yt.loose?A[D.CARETLOOSE]:A[D.CARET];return Jt.replace(cr,function(w,pt,Mn,Bn,Xn){var vr;return t("caret",Jt,w,pt,Mn,Bn,Xn),be(pt)?vr="":be(Mn)?vr=">="+pt+".0.0 <"+(+pt+1)+".0.0":be(Bn)?vr=pt==="0"?">="+pt+"."+Mn+".0 <"+pt+"."+(+Mn+1)+".0":">="+pt+"."+Mn+".0 <"+(+pt+1)+".0.0":Xn?(t("replaceCaret pr",Xn),vr=pt==="0"?Mn==="0"?">="+pt+"."+Mn+"."+Bn+"-"+Xn+" <"+pt+"."+Mn+"."+(+Bn+1):">="+pt+"."+Mn+"."+Bn+"-"+Xn+" <"+pt+"."+(+Mn+1)+".0":">="+pt+"."+Mn+"."+Bn+"-"+Xn+" <"+(+pt+1)+".0.0"):(t("no pr"),vr=pt==="0"?Mn==="0"?">="+pt+"."+Mn+"."+Bn+" <"+pt+"."+Mn+"."+(+Bn+1):">="+pt+"."+Mn+"."+Bn+" <"+pt+"."+(+Mn+1)+".0":">="+pt+"."+Mn+"."+Bn+" <"+(+pt+1)+".0.0"),t("caret return",vr),vr})}(Un,hn)}).join(" ")}(it,Ft),t("caret",it),it=function(jt,hn){return jt.trim().split(/\s+/).map(function(Un){return function(Jt,Yt){var cr=Yt.loose?A[D.TILDELOOSE]:A[D.TILDE];return Jt.replace(cr,function(w,pt,Mn,Bn,Xn){var vr;return t("tilde",Jt,w,pt,Mn,Bn,Xn),be(pt)?vr="":be(Mn)?vr=">="+pt+".0.0 <"+(+pt+1)+".0.0":be(Bn)?vr=">="+pt+"."+Mn+".0 <"+pt+"."+(+Mn+1)+".0":Xn?(t("replaceTilde pr",Xn),vr=">="+pt+"."+Mn+"."+Bn+"-"+Xn+" <"+pt+"."+(+Mn+1)+".0"):vr=">="+pt+"."+Mn+"."+Bn+" <"+pt+"."+(+Mn+1)+".0",t("tilde return",vr),vr})}(Un,hn)}).join(" ")}(it,Ft),t("tildes",it),it=function(jt,hn){return t("replaceXRanges",jt,hn),jt.split(/\s+/).map(function(Un){return function(Jt,Yt){Jt=Jt.trim();var cr=Yt.loose?A[D.XRANGELOOSE]:A[D.XRANGE];return Jt.replace(cr,function(w,pt,Mn,Bn,Xn,vr){t("xRange",Jt,w,pt,Mn,Bn,Xn,vr);var gr=be(Mn),r0=gr||be(Bn),Ci=r0||be(Xn),yo=Ci;return pt==="="&&yo&&(pt=""),vr=Yt.includePrerelease?"-0":"",gr?w=pt===">"||pt==="<"?"<0.0.0-0":"*":pt&&yo?(r0&&(Bn=0),Xn=0,pt===">"?(pt=">=",r0?(Mn=+Mn+1,Bn=0,Xn=0):(Bn=+Bn+1,Xn=0)):pt==="<="&&(pt="<",r0?Mn=+Mn+1:Bn=+Bn+1),w=pt+Mn+"."+Bn+"."+Xn+vr):r0?w=">="+Mn+".0.0"+vr+" <"+(+Mn+1)+".0.0"+vr:Ci&&(w=">="+Mn+"."+Bn+".0"+vr+" <"+Mn+"."+(+Bn+1)+".0"+vr),t("xRange return",w),w})}(Un,hn)}).join(" ")}(it,Ft),t("xrange",it),it=function(jt,hn){return t("replaceStars",jt,hn),jt.trim().replace(A[D.STAR],"")}(it,Ft),t("stars",it),it}(at,this.options)},this).join(" ").split(/\s+/);return this.options.loose&&(Ae=Ae.filter(function(at){return!!at.match(Z)})),Ae=Ae.map(function(at){return new Le(at,this.options)},this)},ct.prototype.intersects=function(V,ne){if(!(V instanceof ct))throw new TypeError("a Range is required");return this.set.some(function(ge){return Ue(ge,ne)&&V.set.some(function(Z){return Ue(Z,ne)&&ge.every(function(Ae){return Z.every(function(at){return Ae.intersects(at,ne)})})})})},u.toComparators=function(V,ne){return new ct(V,ne).set.map(function(ge){return ge.map(function(Z){return Z.value}).join(" ").trim().split(" ")})},ct.prototype.test=function(V){if(!V)return!1;if(typeof V=="string")try{V=new h(V,this.options)}catch(ge){return!1}for(var ne=0;ne":at.prerelease.length===0?at.patch++:at.prerelease.push(0),at.raw=at.format();case"":case">=":ge&&!oe(ge,at)||(ge=at);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+Ae.operator)}});return ge&&V.test(ge)?ge:null},u.validRange=function(V,ne){try{return new ct(V,ne).range||"*"}catch(ge){return null}},u.ltr=function(V,ne,ge){return Je(V,ne,"<",ge)},u.gtr=function(V,ne,ge){return Je(V,ne,">",ge)},u.outside=Je,u.prerelease=function(V,ne){var ge=$(V,ne);return ge&&ge.prerelease.length?ge.prerelease:null},u.intersects=function(V,ne,ge){return V=new ct(V,ge),ne=new ct(ne,ge),V.intersects(ne)},u.coerce=function(V,ne){if(V instanceof h)return V;if(typeof V=="number"&&(V=String(V)),typeof V!="string")return null;var ge=null;if((ne=ne||{}).rtl){for(var Z;(Z=A[D.COERCERTL].exec(V))&&(!ge||ge.index+ge[0].length!==V.length);)ge&&Z.index+Z[0].length===ge.index+ge[0].length||(ge=Z),A[D.COERCERTL].lastIndex=Z.index+Z[1].length+Z[2].length;A[D.COERCERTL].lastIndex=-1}else ge=V.match(A[D.COERCE]);return ge===null?null:$(ge[2]+"."+(ge[3]||"0")+"."+(ge[4]||"0"),ne)}}).call(this,f(5))},function(i,u){function f(g){return(f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(g)}var c;c=function(){return this}();try{c=c||new Function("return this")()}catch(g){(typeof window=="undefined"?"undefined":f(window))==="object"&&(c=window)}i.exports=c},function(i,u){var f,c,g=i.exports={};function t(){throw new Error("setTimeout has not been defined")}function C(){throw new Error("clearTimeout has not been defined")}function A(ce){if(f===setTimeout)return setTimeout(ce,0);if((f===t||!f)&&setTimeout)return f=setTimeout,setTimeout(ce,0);try{return f(ce,0)}catch(Q){try{return f.call(null,ce,0)}catch(oe){return f.call(this,ce,0)}}}(function(){try{f=typeof setTimeout=="function"?setTimeout:t}catch(ce){f=t}try{c=typeof clearTimeout=="function"?clearTimeout:C}catch(ce){c=C}})();var x,D=[],L=!1,N=-1;function j(){L&&x&&(L=!1,x.length?D=x.concat(D):N=-1,D.length&&$())}function $(){if(!L){var ce=A(j);L=!0;for(var Q=D.length;Q;){for(x=D,D=[];++N1)for(var oe=1;oethis[C])return De(this,this[h].get(Ue)),!1;var Je=this[h].get(Ue).value;return this[N]&&(this[j]||this[N](Ue,Je.value)),Je.now=Ot,Je.maxAge=At,Je.value=be,this[A]+=Nt-Je.length,Je.length=Nt,this.get(Ue),me(this),!0}var V=new J(Ue,be,Nt,Ot,At);return V.length>this[C]?(this[N]&&this[N](Ue,be),!1):(this[A]+=V.length,this[$].unshift(V),this[h].set(Ue,this[$].head),me(this),!0)}},{key:"has",value:function(Ue){if(!this[h].has(Ue))return!1;var be=this[h].get(Ue).value;return!Se(this,be)}},{key:"get",value:function(Ue){return oe(this,Ue,!0)}},{key:"peek",value:function(Ue){return oe(this,Ue,!1)}},{key:"pop",value:function(){var Ue=this[$].tail;return Ue?(De(this,Ue),Ue.value):null}},{key:"del",value:function(Ue){De(this,this[h].get(Ue))}},{key:"load",value:function(Ue){this.reset();for(var be=Date.now(),At=Ue.length-1;At>=0;At--){var Ot=Ue[At],Nt=Ot.e||0;if(Nt===0)this.set(Ot.k,Ot.v);else{var Je=Nt-be;Je>0&&this.set(Ot.k,Ot.v,Je)}}}},{key:"prune",value:function(){var Ue=this;this[h].forEach(function(be,At){return oe(Ue,At,!1)})}},{key:"max",set:function(Ue){if(typeof Ue!="number"||Ue<0)throw new TypeError("max must be a non-negative number");this[C]=Ue||1/0,me(this)},get:function(){return this[C]}},{key:"allowStale",set:function(Ue){this[D]=!!Ue},get:function(){return this[D]}},{key:"maxAge",set:function(Ue){if(typeof Ue!="number")throw new TypeError("maxAge must be a non-negative number");this[L]=Ue,me(this)},get:function(){return this[L]}},{key:"lengthCalculator",set:function(Ue){var be=this;typeof Ue!="function"&&(Ue=ce),Ue!==this[x]&&(this[x]=Ue,this[A]=0,this[$].forEach(function(At){At.length=be[x](At.value,At.key),be[A]+=At.length})),me(this)},get:function(){return this[x]}},{key:"length",get:function(){return this[A]}},{key:"itemCount",get:function(){return this[$].length}}])&&g(Le.prototype,ot),ct&&g(Le,ct),Oe}(),oe=function(Oe,Le,ot){var ct=Oe[h].get(Le);if(ct){var Ue=ct.value;if(Se(Oe,Ue)){if(De(Oe,ct),!Oe[D])return}else ot&&(Oe[re]&&(ct.value.now=Date.now()),Oe[$].unshiftNode(ct));return Ue.value}},Se=function(Oe,Le){if(!Le||!Le.maxAge&&!Oe[L])return!1;var ot=Date.now()-Le.now;return Le.maxAge?ot>Le.maxAge:Oe[L]&&ot>Oe[L]},me=function(Oe){if(Oe[A]>Oe[C])for(var Le=Oe[$].tail;Oe[A]>Oe[C]&&Le!==null;){var ot=Le.prev;De(Oe,Le),Le=ot}},De=function(Oe,Le){if(Le){var ot=Le.value;Oe[N]&&Oe[N](ot.key,ot.value),Oe[A]-=ot.length,Oe[h].delete(ot.key),Oe[$].removeNode(Le)}},J=function Oe(Le,ot,ct,Ue,be){c(this,Oe),this.key=Le,this.value=ot,this.length=ct,this.now=Ue,this.maxAge=be||0},Te=function(Oe,Le,ot,ct){var Ue=ot.value;Se(Oe,Ue)&&(De(Oe,ot),Oe[D]||(Ue=void 0)),Ue&&Le.call(ct,Ue.value,Ue.key,Oe)};i.exports=Q},function(i,u,f){(function(c){function g(t){return(g=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(C){return typeof C}:function(C){return C&&typeof Symbol=="function"&&C.constructor===Symbol&&C!==Symbol.prototype?"symbol":typeof C})(t)}i.exports=function(){if(typeof document=="undefined"||!document.addEventListener)return null;var t,C,A,x={};return x.copy=function(){var D=!1,L=null,N=!1;function j(){D=!1,L=null,N&&window.getSelection().removeAllRanges(),N=!1}return document.addEventListener("copy",function($){if(D){for(var h in L)$.clipboardData.setData(h,L[h]);$.preventDefault()}}),function($){return new Promise(function(h,re){D=!0,typeof $=="string"?L={"text/plain":$}:$ instanceof Node?L={"text/html":new XMLSerializer().serializeToString($)}:$ instanceof Object?L=$:re("Invalid data type. Must be string, DOM node, or an object mapping MIME types to strings."),function ce(Q){try{if(document.execCommand("copy"))j(),h();else{if(Q)throw j(),new Error("Unable to copy. Perhaps it's not available in your browser?");(function(){var oe=document.getSelection();if(!document.queryCommandEnabled("copy")&&oe.isCollapsed){var Se=document.createRange();Se.selectNodeContents(document.body),oe.removeAllRanges(),oe.addRange(Se),N=!0}})(),ce(!0)}}catch(oe){j(),re(oe)}}(!1)})}}(),x.paste=(A=!1,document.addEventListener("paste",function(D){if(A){A=!1,D.preventDefault();var L=t;t=null,L(D.clipboardData.getData(C))}}),function(D){return new Promise(function(L,N){A=!0,t=L,C=D||"text/plain";try{document.execCommand("paste")||(A=!1,N(new Error("Unable to paste. Pasting only works in Internet Explorer at the moment.")))}catch(j){A=!1,N(new Error(j))}})}),typeof ClipboardEvent=="undefined"&&window.clipboardData!==void 0&&window.clipboardData.setData!==void 0&&(function(D){function L(me,De){return function(){me.apply(De,arguments)}}function N(me){if(g(this)!="object")throw new TypeError("Promises must be constructed via new");if(typeof me!="function")throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],Q(me,L($,this),L(h,this))}function j(me){var De=this;return this._state===null?void this._deferreds.push(me):void oe(function(){var J=De._state?me.onFulfilled:me.onRejected;if(J!==null){var Te;try{Te=J(De._value)}catch(Oe){return void me.reject(Oe)}me.resolve(Te)}else(De._state?me.resolve:me.reject)(De._value)})}function $(me){try{if(me===this)throw new TypeError("A promise cannot be resolved with itself.");if(me&&(g(me)=="object"||typeof me=="function")){var De=me.then;if(typeof De=="function")return void Q(L(De,me),L($,this),L(h,this))}this._state=!0,this._value=me,re.call(this)}catch(J){h.call(this,J)}}function h(me){this._state=!1,this._value=me,re.call(this)}function re(){for(var me=0,De=this._deferreds.length;De>me;me++)j.call(this,this._deferreds[me]);this._deferreds=null}function ce(me,De,J,Te){this.onFulfilled=typeof me=="function"?me:null,this.onRejected=typeof De=="function"?De:null,this.resolve=J,this.reject=Te}function Q(me,De,J){var Te=!1;try{me(function(Oe){Te||(Te=!0,De(Oe))},function(Oe){Te||(Te=!0,J(Oe))})}catch(Oe){if(Te)return;Te=!0,J(Oe)}}var oe=N.immediateFn||typeof c=="function"&&c||function(me){setTimeout(me,1)},Se=Array.isArray||function(me){return Object.prototype.toString.call(me)==="[object Array]"};N.prototype.catch=function(me){return this.then(null,me)},N.prototype.then=function(me,De){var J=this;return new N(function(Te,Oe){j.call(J,new ce(me,De,Te,Oe))})},N.all=function(){var me=Array.prototype.slice.call(arguments.length===1&&Se(arguments[0])?arguments[0]:arguments);return new N(function(De,J){function Te(ot,ct){try{if(ct&&(g(ct)=="object"||typeof ct=="function")){var Ue=ct.then;if(typeof Ue=="function")return void Ue.call(ct,function(be){Te(ot,be)},J)}me[ot]=ct,--Oe==0&&De(me)}catch(be){J(be)}}if(me.length===0)return De([]);for(var Oe=me.length,Le=0;LeTe;Te++)me[Te].then(De,J)})},i.exports?i.exports=N:D.Promise||(D.Promise=N)}(this),x.copy=function(D){return new Promise(function(L,N){if(typeof D!="string"&&!("text/plain"in D))throw new Error("You must provide a text/plain type.");var j=typeof D=="string"?D:D["text/plain"];window.clipboardData.setData("Text",j)?L():N(new Error("Copying was rejected."))})},x.paste=function(){return new Promise(function(D,L){var N=window.clipboardData.getData("Text");N?D(N):L(new Error("Pasting was rejected."))})}),x}()}).call(this,f(13).setImmediate)},function(i,u,f){"use strict";i.exports=f(15)},function(i,u,f){"use strict";f.r(u),u.default=`:root { - /** - * IMPORTANT: When new theme variables are added below\u2013 also add them to SettingsContext updateThemeVariables() - */ - - /* Light theme */ - --light-color-attribute-name: #ef6632; - --light-color-attribute-name-not-editable: #23272f; - --light-color-attribute-name-inverted: rgba(255, 255, 255, 0.7); - --light-color-attribute-value: #1a1aa6; - --light-color-attribute-value-inverted: #ffffff; - --light-color-attribute-editable-value: #1a1aa6; - --light-color-background: #ffffff; - --light-color-background-hover: rgba(0, 136, 250, 0.1); - --light-color-background-inactive: #e5e5e5; - --light-color-background-invalid: #fff0f0; - --light-color-background-selected: #0088fa; - --light-color-button-background: #ffffff; - --light-color-button-background-focus: #ededed; - --light-color-button: #5f6673; - --light-color-button-disabled: #cfd1d5; - --light-color-button-active: #0088fa; - --light-color-button-focus: #23272f; - --light-color-button-hover: #23272f; - --light-color-border: #eeeeee; - --light-color-commit-did-not-render-fill: #cfd1d5; - --light-color-commit-did-not-render-fill-text: #000000; - --light-color-commit-did-not-render-pattern: #cfd1d5; - --light-color-commit-did-not-render-pattern-text: #333333; - --light-color-commit-gradient-0: #37afa9; - --light-color-commit-gradient-1: #63b19e; - --light-color-commit-gradient-2: #80b393; - --light-color-commit-gradient-3: #97b488; - --light-color-commit-gradient-4: #abb67d; - --light-color-commit-gradient-5: #beb771; - --light-color-commit-gradient-6: #cfb965; - --light-color-commit-gradient-7: #dfba57; - --light-color-commit-gradient-8: #efbb49; - --light-color-commit-gradient-9: #febc38; - --light-color-commit-gradient-text: #000000; - --light-color-component-name: #6a51b2; - --light-color-component-name-inverted: #ffffff; - --light-color-component-badge-background: rgba(0, 0, 0, 0.1); - --light-color-component-badge-background-inverted: rgba(255, 255, 255, 0.25); - --light-color-component-badge-count: #777d88; - --light-color-component-badge-count-inverted: rgba(255, 255, 255, 0.7); - --light-color-context-background: rgba(0,0,0,.9); - --light-color-context-background-hover: rgba(255, 255, 255, 0.1); - --light-color-context-background-selected: #178fb9; - --light-color-context-border: #3d424a; - --light-color-context-text: #ffffff; - --light-color-context-text-selected: #ffffff; - --light-color-dim: #777d88; - --light-color-dimmer: #cfd1d5; - --light-color-dimmest: #eff0f1; - --light-color-error-background: hsl(0, 100%, 97%); - --light-color-error-border: hsl(0, 100%, 92%); - --light-color-error-text: #ff0000; - --light-color-expand-collapse-toggle: #777d88; - --light-color-link: #0000ff; - --light-color-modal-background: rgba(255, 255, 255, 0.75); - --light-color-record-active: #fc3a4b; - --light-color-record-hover: #3578e5; - --light-color-record-inactive: #0088fa; - --light-color-scroll-thumb: #c2c2c2; - --light-color-scroll-track: #fafafa; - --light-color-search-match: yellow; - --light-color-search-match-current: #f7923b; - --light-color-selected-tree-highlight-active: rgba(0, 136, 250, 0.1); - --light-color-selected-tree-highlight-inactive: rgba(0, 0, 0, 0.05); - --light-color-shadow: rgba(0, 0, 0, 0.25); - --light-color-tab-selected-border: #0088fa; - --light-color-text: #000000; - --light-color-text-invalid: #ff0000; - --light-color-text-selected: #ffffff; - --light-color-toggle-background-invalid: #fc3a4b; - --light-color-toggle-background-on: #0088fa; - --light-color-toggle-background-off: #cfd1d5; - --light-color-toggle-text: #ffffff; - --light-color-tooltip-background: rgba(0, 0, 0, 0.9); - --light-color-tooltip-text: #ffffff; - - /* Dark theme */ - --dark-color-attribute-name: #9d87d2; - --dark-color-attribute-name-not-editable: #ededed; - --dark-color-attribute-name-inverted: #282828; - --dark-color-attribute-value: #cedae0; - --dark-color-attribute-value-inverted: #ffffff; - --dark-color-attribute-editable-value: yellow; - --dark-color-background: #282c34; - --dark-color-background-hover: rgba(255, 255, 255, 0.1); - --dark-color-background-inactive: #3d424a; - --dark-color-background-invalid: #5c0000; - --dark-color-background-selected: #178fb9; - --dark-color-button-background: #282c34; - --dark-color-button-background-focus: #3d424a; - --dark-color-button: #afb3b9; - --dark-color-button-active: #61dafb; - --dark-color-button-disabled: #4f5766; - --dark-color-button-focus: #a2e9fc; - --dark-color-button-hover: #ededed; - --dark-color-border: #3d424a; - --dark-color-commit-did-not-render-fill: #777d88; - --dark-color-commit-did-not-render-fill-text: #000000; - --dark-color-commit-did-not-render-pattern: #666c77; - --dark-color-commit-did-not-render-pattern-text: #ffffff; - --dark-color-commit-gradient-0: #37afa9; - --dark-color-commit-gradient-1: #63b19e; - --dark-color-commit-gradient-2: #80b393; - --dark-color-commit-gradient-3: #97b488; - --dark-color-commit-gradient-4: #abb67d; - --dark-color-commit-gradient-5: #beb771; - --dark-color-commit-gradient-6: #cfb965; - --dark-color-commit-gradient-7: #dfba57; - --dark-color-commit-gradient-8: #efbb49; - --dark-color-commit-gradient-9: #febc38; - --dark-color-commit-gradient-text: #000000; - --dark-color-component-name: #61dafb; - --dark-color-component-name-inverted: #282828; - --dark-color-component-badge-background: rgba(255, 255, 255, 0.25); - --dark-color-component-badge-background-inverted: rgba(0, 0, 0, 0.25); - --dark-color-component-badge-count: #8f949d; - --dark-color-component-badge-count-inverted: rgba(255, 255, 255, 0.7); - --dark-color-context-background: rgba(255,255,255,.9); - --dark-color-context-background-hover: rgba(0, 136, 250, 0.1); - --dark-color-context-background-selected: #0088fa; - --dark-color-context-border: #eeeeee; - --dark-color-context-text: #000000; - --dark-color-context-text-selected: #ffffff; - --dark-color-dim: #8f949d; - --dark-color-dimmer: #777d88; - --dark-color-dimmest: #4f5766; - --dark-color-error-background: #200; - --dark-color-error-border: #900; - --dark-color-error-text: #f55; - --dark-color-expand-collapse-toggle: #8f949d; - --dark-color-link: #61dafb; - --dark-color-modal-background: rgba(0, 0, 0, 0.75); - --dark-color-record-active: #fc3a4b; - --dark-color-record-hover: #a2e9fc; - --dark-color-record-inactive: #61dafb; - --dark-color-scroll-thumb: #afb3b9; - --dark-color-scroll-track: #313640; - --dark-color-search-match: yellow; - --dark-color-search-match-current: #f7923b; - --dark-color-selected-tree-highlight-active: rgba(23, 143, 185, 0.15); - --dark-color-selected-tree-highlight-inactive: rgba(255, 255, 255, 0.05); - --dark-color-shadow: rgba(0, 0, 0, 0.5); - --dark-color-tab-selected-border: #178fb9; - --dark-color-text: #ffffff; - --dark-color-text-invalid: #ff8080; - --dark-color-text-selected: #ffffff; - --dark-color-toggle-background-invalid: #fc3a4b; - --dark-color-toggle-background-on: #178fb9; - --dark-color-toggle-background-off: #777d88; - --dark-color-toggle-text: #ffffff; - --dark-color-tooltip-background: rgba(255, 255, 255, 0.9); - --dark-color-tooltip-text: #000000; - - /* Font smoothing */ - --light-font-smoothing: auto; - --dark-font-smoothing: antialiased; - --font-smoothing: auto; - - /* Compact density */ - --compact-font-size-monospace-small: 9px; - --compact-font-size-monospace-normal: 11px; - --compact-font-size-monospace-large: 15px; - --compact-font-size-sans-small: 10px; - --compact-font-size-sans-normal: 12px; - --compact-font-size-sans-large: 14px; - --compact-line-height-data: 18px; - --compact-root-font-size: 16px; - - /* Comfortable density */ - --comfortable-font-size-monospace-small: 10px; - --comfortable-font-size-monospace-normal: 13px; - --comfortable-font-size-monospace-large: 17px; - --comfortable-font-size-sans-small: 12px; - --comfortable-font-size-sans-normal: 14px; - --comfortable-font-size-sans-large: 16px; - --comfortable-line-height-data: 22px; - --comfortable-root-font-size: 20px; - - /* GitHub.com system fonts */ - --font-family-monospace: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, - Courier, monospace; - --font-family-sans: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, - Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; - - /* Constant values shared between JS and CSS */ - --interaction-commit-size: 10px; - --interaction-label-width: 200px; -} -`},function(i,u,f){"use strict";function c(x){var D=this;if(D instanceof c||(D=new c),D.tail=null,D.head=null,D.length=0,x&&typeof x.forEach=="function")x.forEach(function(j){D.push(j)});else if(arguments.length>0)for(var L=0,N=arguments.length;L1)L=D;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");N=this.head.next,L=this.head.value}for(var j=0;N!==null;j++)L=x(L,N.value,j),N=N.next;return L},c.prototype.reduceReverse=function(x,D){var L,N=this.tail;if(arguments.length>1)L=D;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");N=this.tail.prev,L=this.tail.value}for(var j=this.length-1;N!==null;j--)L=x(L,N.value,j),N=N.prev;return L},c.prototype.toArray=function(){for(var x=new Array(this.length),D=0,L=this.head;L!==null;D++)x[D]=L.value,L=L.next;return x},c.prototype.toArrayReverse=function(){for(var x=new Array(this.length),D=0,L=this.tail;L!==null;D++)x[D]=L.value,L=L.prev;return x},c.prototype.slice=function(x,D){(D=D||this.length)<0&&(D+=this.length),(x=x||0)<0&&(x+=this.length);var L=new c;if(Dthis.length&&(D=this.length);for(var N=0,j=this.head;j!==null&&Nthis.length&&(D=this.length);for(var N=this.length,j=this.tail;j!==null&&N>D;N--)j=j.prev;for(;j!==null&&N>x;N--,j=j.prev)L.push(j.value);return L},c.prototype.splice=function(x,D){x>this.length&&(x=this.length-1),x<0&&(x=this.length+x);for(var L=0,N=this.head;N!==null&&L=0&&(A._idleTimeoutId=setTimeout(function(){A._onTimeout&&A._onTimeout()},x))},f(14),u.setImmediate=typeof self!="undefined"&&self.setImmediate||c!==void 0&&c.setImmediate||this&&this.setImmediate,u.clearImmediate=typeof self!="undefined"&&self.clearImmediate||c!==void 0&&c.clearImmediate||this&&this.clearImmediate}).call(this,f(4))},function(i,u,f){(function(c,g){(function(t,C){"use strict";if(!t.setImmediate){var A,x,D,L,N,j=1,$={},h=!1,re=t.document,ce=Object.getPrototypeOf&&Object.getPrototypeOf(t);ce=ce&&ce.setTimeout?ce:t,{}.toString.call(t.process)==="[object process]"?A=function(Se){g.nextTick(function(){oe(Se)})}:function(){if(t.postMessage&&!t.importScripts){var Se=!0,me=t.onmessage;return t.onmessage=function(){Se=!1},t.postMessage("","*"),t.onmessage=me,Se}}()?(L="setImmediate$"+Math.random()+"$",N=function(Se){Se.source===t&&typeof Se.data=="string"&&Se.data.indexOf(L)===0&&oe(+Se.data.slice(L.length))},t.addEventListener?t.addEventListener("message",N,!1):t.attachEvent("onmessage",N),A=function(Se){t.postMessage(L+Se,"*")}):t.MessageChannel?((D=new MessageChannel).port1.onmessage=function(Se){oe(Se.data)},A=function(Se){D.port2.postMessage(Se)}):re&&"onreadystatechange"in re.createElement("script")?(x=re.documentElement,A=function(Se){var me=re.createElement("script");me.onreadystatechange=function(){oe(Se),me.onreadystatechange=null,x.removeChild(me),me=null},x.appendChild(me)}):A=function(Se){setTimeout(oe,0,Se)},ce.setImmediate=function(Se){typeof Se!="function"&&(Se=new Function(""+Se));for(var me=new Array(arguments.length-1),De=0;Dene;ne++)if((V=Q(Je,Ot,ne))!==-1){ce=ne,Ot=V;break e}Ot=-1}}e:{if(Je=Nt,(V=j().get(At.primitive))!==void 0){for(ne=0;neOt-Je?null:Nt.slice(Je,Ot-1))!==null){if(Ot=0,Le!==null){for(;OtOt;Le--)ot=Ue.pop()}for(Le=Nt.length-Ot-1;1<=Le;Le--)Ot=[],ot.push({id:null,isStateEditable:!1,name:Se(Nt[Le-1].functionName),value:void 0,subHooks:Ot}),Ue.push(ot),ot=Ot;Le=Nt}Ot=(Nt=At.primitive)==="Context"||Nt==="DebugValue"?null:ct++,ot.push({id:Ot,isStateEditable:Nt==="Reducer"||Nt==="State",name:Nt,value:At.value,subHooks:[]})}return function ge(Z,Ae){for(var at=[],it=0;it-1&&($=$.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(\),.*$)/g,""));var h=$.replace(/^\s+/,"").replace(/\(eval code/g,"("),re=h.match(/ (\((.+):(\d+):(\d+)\)$)/),ce=(h=re?h.replace(re[0],""):h).split(/\s+/).slice(1),Q=this.extractLocation(re?re[1]:ce.pop()),oe=ce.join(" ")||void 0,Se=["eval",""].indexOf(Q[0])>-1?void 0:Q[0];return new x({functionName:oe,fileName:Se,lineNumber:Q[1],columnNumber:Q[2],source:$})},this)},parseFFOrSafari:function(j){return j.stack.split(` -`).filter(function($){return!$.match(N)},this).map(function($){if($.indexOf(" > eval")>-1&&($=$.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),$.indexOf("@")===-1&&$.indexOf(":")===-1)return new x({functionName:$});var h=/((.*".+"[^@]*)?[^@]*)(?:@)/,re=$.match(h),ce=re&&re[1]?re[1]:void 0,Q=this.extractLocation($.replace(h,""));return new x({functionName:ce,fileName:Q[0],lineNumber:Q[1],columnNumber:Q[2],source:$})},this)},parseOpera:function(j){return!j.stacktrace||j.message.indexOf(` -`)>-1&&j.message.split(` -`).length>j.stacktrace.split(` -`).length?this.parseOpera9(j):j.stack?this.parseOpera11(j):this.parseOpera10(j)},parseOpera9:function(j){for(var $=/Line (\d+).*script (?:in )?(\S+)/i,h=j.message.split(` -`),re=[],ce=2,Q=h.length;ce/,"$2").replace(/\([^)]*\)/g,"")||void 0;Q.match(/\(([^)]*)\)/)&&(h=Q.replace(/^[^(]+\(([^)]*)\)$/,"$1"));var Se=h===void 0||h==="[arguments not available]"?void 0:h.split(",");return new x({functionName:oe,args:Se,fileName:ce[0],lineNumber:ce[1],columnNumber:ce[2],source:$})},this)}}})=="function"?c.apply(u,g):c)===void 0||(i.exports=t)})()},function(i,u,f){var c,g,t;(function(C,A){"use strict";g=[],(t=typeof(c=function(){function x(oe){return oe.charAt(0).toUpperCase()+oe.substring(1)}function D(oe){return function(){return this[oe]}}var L=["isConstructor","isEval","isNative","isToplevel"],N=["columnNumber","lineNumber"],j=["fileName","functionName","source"],$=L.concat(N,j,["args"]);function h(oe){if(oe)for(var Se=0;Se<$.length;Se++)oe[$[Se]]!==void 0&&this["set"+x($[Se])](oe[$[Se]])}h.prototype={getArgs:function(){return this.args},setArgs:function(oe){if(Object.prototype.toString.call(oe)!=="[object Array]")throw new TypeError("Args must be an Array");this.args=oe},getEvalOrigin:function(){return this.evalOrigin},setEvalOrigin:function(oe){if(oe instanceof h)this.evalOrigin=oe;else{if(!(oe instanceof Object))throw new TypeError("Eval Origin must be an Object or StackFrame");this.evalOrigin=new h(oe)}},toString:function(){var oe=this.getFileName()||"",Se=this.getLineNumber()||"",me=this.getColumnNumber()||"",De=this.getFunctionName()||"";return this.getIsEval()?oe?"[eval] ("+oe+":"+Se+":"+me+")":"[eval]:"+Se+":"+me:De?De+" ("+oe+":"+Se+":"+me+")":oe+":"+Se+":"+me}},h.fromString=function(oe){var Se=oe.indexOf("("),me=oe.lastIndexOf(")"),De=oe.substring(0,Se),J=oe.substring(Se+1,me).split(","),Te=oe.substring(me+1);if(Te.indexOf("@")===0)var Oe=/@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(Te,""),Le=Oe[1],ot=Oe[2],ct=Oe[3];return new h({functionName:De,args:J||void 0,fileName:Le,lineNumber:ot||void 0,columnNumber:ct||void 0})};for(var re=0;re1?de-1:0),ve=1;ve=0&&de.splice(W,1)}}}])&&c(R.prototype,U),H&&c(R,H),F}(),t=f(2),C=f.n(t);try{var A=f(9).default,x=function(F){var R=new RegExp("".concat(F,": ([0-9]+)")),U=A.match(R);return parseInt(U[1],10)};x("comfortable-line-height-data"),x("compact-line-height-data")}catch(F){}function D(F){try{return sessionStorage.getItem(F)}catch(R){return null}}function L(F){try{sessionStorage.removeItem(F)}catch(R){}}function N(F,R){try{return sessionStorage.setItem(F,R)}catch(U){}}var j=function(F,R){return F===R},$=f(1),h=f.n($);function re(F){return F.ownerDocument?F.ownerDocument.defaultView:null}function ce(F){var R=re(F);return R?R.frameElement:null}function Q(F){var R=me(F);return oe([F.getBoundingClientRect(),{top:R.borderTop,left:R.borderLeft,bottom:R.borderBottom,right:R.borderRight,width:0,height:0}])}function oe(F){return F.reduce(function(R,U){return R==null?U:{top:R.top+U.top,left:R.left+U.left,width:R.width,height:R.height,bottom:R.bottom+U.bottom,right:R.right+U.right}})}function Se(F,R){var U=ce(F);if(U&&U!==R){for(var H=[F.getBoundingClientRect()],fe=U,ue=!1;fe;){var de=Q(fe);if(H.push(de),fe=ce(fe),ue)break;fe&&re(fe)===R&&(ue=!0)}return oe(H)}return F.getBoundingClientRect()}function me(F){var R=window.getComputedStyle(F);return{borderLeft:parseInt(R.borderLeftWidth,10),borderRight:parseInt(R.borderRightWidth,10),borderTop:parseInt(R.borderTopWidth,10),borderBottom:parseInt(R.borderBottomWidth,10),marginLeft:parseInt(R.marginLeft,10),marginRight:parseInt(R.marginRight,10),marginTop:parseInt(R.marginTop,10),marginBottom:parseInt(R.marginBottom,10),paddingLeft:parseInt(R.paddingLeft,10),paddingRight:parseInt(R.paddingRight,10),paddingTop:parseInt(R.paddingTop,10),paddingBottom:parseInt(R.paddingBottom,10)}}function De(F,R){var U;if(typeof Symbol=="undefined"||F[Symbol.iterator]==null){if(Array.isArray(F)||(U=function(ve,Fe){if(!!ve){if(typeof ve=="string")return J(ve,Fe);var Ge=Object.prototype.toString.call(ve).slice(8,-1);if(Ge==="Object"&&ve.constructor&&(Ge=ve.constructor.name),Ge==="Map"||Ge==="Set")return Array.from(ve);if(Ge==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Ge))return J(ve,Fe)}}(F))||R&&F&&typeof F.length=="number"){U&&(F=U);var H=0,fe=function(){};return{s:fe,n:function(){return H>=F.length?{done:!0}:{done:!1,value:F[H++]}},e:function(ve){throw ve},f:fe}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var ue,de=!0,W=!1;return{s:function(){U=F[Symbol.iterator]()},n:function(){var ve=U.next();return de=ve.done,ve},e:function(ve){W=!0,ue=ve},f:function(){try{de||U.return==null||U.return()}finally{if(W)throw ue}}}}function J(F,R){(R==null||R>F.length)&&(R=F.length);for(var U=0,H=new Array(R);Ude.left+de.width&&(K=de.left+de.width-Ge-5),{style:{top:ve+="px",left:K+="px"}}}(R,U,{width:H.width,height:H.height});h()(this.tip.style,fe.style)}}]),F}(),Ue=function(){function F(){Te(this,F);var R=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;this.window=R;var U=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;this.tipBoundsWindow=U;var H=R.document;this.container=H.createElement("div"),this.container.style.zIndex="10000000",this.tip=new ct(H,this.container),this.rects=[],H.body.appendChild(this.container)}return Le(F,[{key:"remove",value:function(){this.tip.remove(),this.rects.forEach(function(R){R.remove()}),this.rects.length=0,this.container.parentNode&&this.container.parentNode.removeChild(this.container)}},{key:"inspect",value:function(R,U){for(var H=this,fe=R.filter(function(Xe){return Xe.nodeType===Node.ELEMENT_NODE});this.rects.length>fe.length;)this.rects.pop().remove();if(fe.length!==0){for(;this.rects.length1&&arguments[1]!==void 0?arguments[1]:j,je=void 0,Xe=[],rt=void 0,st=!1,xt=function(lt,Rt){return xe(lt,Xe[Rt])},wt=function(){for(var lt=arguments.length,Rt=Array(lt),yn=0;yn5&&arguments[5]!==void 0?arguments[5]:0,W=cl(F);switch(W){case"html_element":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:F.tagName,type:W};case"function":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:typeof F.name!="function"&&F.name?F.name:"function",type:W};case"string":return F.length<=500?F:F.slice(0,500)+"...";case"bigint":case"symbol":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:F.toString(),type:W};case"react_element":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:al(F)||"Unknown",type:W};case"array_buffer":case"data_view":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:W==="data_view"?"DataView":"ArrayBuffer",size:F.byteLength,type:W};case"array":return ue=fe(H),de>=2&&!ue?yo(W,!0,F,R,H):F.map(function(Ge,K){return Ds(Ge,R,U,H.concat([K]),fe,ue?1:de+1)});case"html_all_collection":case"typed_array":case"iterator":if(ue=fe(H),de>=2&&!ue)return yo(W,!0,F,R,H);var ve={unserializable:!0,type:W,readonly:!0,size:W==="typed_array"?F.length:void 0,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:F.constructor&&F.constructor.name!=="Object"?F.constructor.name:""};return r0(F[Symbol.iterator])&&Array.from(F).forEach(function(Ge,K){return ve[K]=Ds(Ge,R,U,H.concat([K]),fe,ue?1:de+1)}),U.push(H),ve;case"opaque_iterator":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:F[Symbol.toStringTag],type:W};case"date":case"regexp":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:F.toString(),type:W};case"object":if(ue=fe(H),de>=2&&!ue)return yo(W,!0,F,R,H);var Fe={};return Es(F).forEach(function(Ge){var K=Ge.toString();Fe[K]=Ds(F[Ge],R,U,H.concat([K]),fe,ue?1:de+1)}),Fe;case"infinity":case"nan":case"undefined":return R.push(H),{type:W};default:return F}}function Mu(F){return(Mu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(F)}function Gf(F){return function(R){if(Array.isArray(R))return iu(R)}(F)||function(R){if(typeof Symbol!="undefined"&&Symbol.iterator in Object(R))return Array.from(R)}(F)||function(R,U){if(!!R){if(typeof R=="string")return iu(R,U);var H=Object.prototype.toString.call(R).slice(8,-1);if(H==="Object"&&R.constructor&&(H=R.constructor.name),H==="Map"||H==="Set")return Array.from(R);if(H==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(H))return iu(R,U)}}(F)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function iu(F,R){(R==null||R>F.length)&&(R=F.length);for(var U=0,H=new Array(R);UR.toString()?1:R.toString()>F.toString()?-1:0}function Es(F){for(var R=[],U=F,H=function(){var fe=[].concat(Gf(Object.keys(U)),Gf(Object.getOwnPropertySymbols(U))),ue=Object.getOwnPropertyDescriptors(U);fe.forEach(function(de){ue[de].enumerable&&R.push(de)}),U=Object.getPrototypeOf(U)};U!=null;)H();return R}function Uo(F){var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Anonymous",U=ou.get(F);if(U!=null)return U;var H=R;return typeof F.displayName=="string"?H=F.displayName:typeof F.name=="string"&&F.name!==""&&(H=F.name),ou.set(F,H),H}var sl=0;function Ss(){return++sl}function Cs(F){var R=ol.get(F);if(R!==void 0)return R;for(var U=new Array(F.length),H=0;H1&&arguments[1]!==void 0?arguments[1]:50;return F.length>R?F.substr(0,R)+"\u2026":F}function Mr(F,R){if(F!=null&&hasOwnProperty.call(F,Ci.type))return R?F[Ci.preview_long]:F[Ci.preview_short];switch(cl(F)){case"html_element":return"<".concat(Ui(F.tagName.toLowerCase())," />");case"function":return Ui("\u0192 ".concat(typeof F.name=="function"?"":F.name,"() {}"));case"string":return'"'.concat(F,'"');case"bigint":return Ui(F.toString()+"n");case"regexp":case"symbol":return Ui(F.toString());case"react_element":return"<".concat(Ui(al(F)||"Unknown")," />");case"array_buffer":return"ArrayBuffer(".concat(F.byteLength,")");case"data_view":return"DataView(".concat(F.buffer.byteLength,")");case"array":if(R){for(var U="",H=0;H0&&(U+=", "),!((U+=Mr(F[H],!1)).length>50));H++);return"[".concat(Ui(U),"]")}var fe=hasOwnProperty.call(F,Ci.size)?F[Ci.size]:F.length;return"Array(".concat(fe,")");case"typed_array":var ue="".concat(F.constructor.name,"(").concat(F.length,")");if(R){for(var de="",W=0;W0&&(de+=", "),!((de+=F[W]).length>50));W++);return"".concat(ue," [").concat(Ui(de),"]")}return ue;case"iterator":var ve=F.constructor.name;if(R){for(var Fe=Array.from(F),Ge="",K=0;K0&&(Ge+=", "),Array.isArray(xe)){var je=Mr(xe[0],!0),Xe=Mr(xe[1],!1);Ge+="".concat(je," => ").concat(Xe)}else Ge+=Mr(xe,!1);if(Ge.length>50)break}return"".concat(ve,"(").concat(F.size,") {").concat(Ui(Ge),"}")}return"".concat(ve,"(").concat(F.size,")");case"opaque_iterator":return F[Symbol.toStringTag];case"date":return F.toString();case"object":if(R){for(var rt=Es(F).sort(ul),st="",xt=0;xt0&&(st+=", "),(st+="".concat(wt.toString(),": ").concat(Mr(F[wt],!1))).length>50)break}return"{".concat(Ui(st),"}")}return"{\u2026}";case"boolean":case"number":case"infinity":case"nan":case"null":case"undefined":return F;default:try{return Ui(""+F)}catch(lt){return"unserializable"}}}var Ac=f(7);function of(F){return(of=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(F)}function Ts(F,R){var U=Object.keys(F);if(Object.getOwnPropertySymbols){var H=Object.getOwnPropertySymbols(F);R&&(H=H.filter(function(fe){return Object.getOwnPropertyDescriptor(F,fe).enumerable})),U.push.apply(U,H)}return U}function xs(F){for(var R=1;R2&&arguments[2]!==void 0?arguments[2]:[];if(F!==null){var H=[],fe=[],ue=Ds(F,H,fe,U,R);return{data:ue,cleaned:H,unserializable:fe}}return null}function qo(F){var R,U,H=(R=F,U=new Set,JSON.stringify(R,function(de,W){if(of(W)==="object"&&W!==null){if(U.has(W))return;U.add(W)}return typeof W=="bigint"?W.toString()+"n":W})),fe=H===void 0?"undefined":H,ue=window.__REACT_DEVTOOLS_GLOBAL_HOOK__.clipboardCopyText;typeof ue=="function"?ue(fe).catch(function(de){}):Object(Ac.copy)(fe)}function kr(F,R){var U=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,H=R[U],fe=Array.isArray(F)?F.slice():xs({},F);return U+1===R.length?Array.isArray(fe)?fe.splice(H,1):delete fe[H]:fe[H]=kr(F[H],R,U+1),fe}function Fr(F,R,U){var H=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,fe=R[H],ue=Array.isArray(F)?F.slice():xs({},F);if(H+1===R.length){var de=U[H];ue[de]=ue[fe],Array.isArray(ue)?ue.splice(fe,1):delete ue[fe]}else ue[fe]=Fr(F[fe],R,U,H+1);return ue}function si(F,R,U){var H=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if(H>=R.length)return U;var fe=R[H],ue=Array.isArray(F)?F.slice():xs({},F);return ue[fe]=si(F[fe],R,U,H+1),ue}var H0=f(8);function b0(F,R){var U=Object.keys(F);if(Object.getOwnPropertySymbols){var H=Object.getOwnPropertySymbols(F);R&&(H=H.filter(function(fe){return Object.getOwnPropertyDescriptor(F,fe).enumerable})),U.push.apply(U,H)}return U}function Bt(F){for(var R=1;R=F.length?{done:!0}:{done:!1,value:F[H++]}},e:function(ve){throw ve},f:fe}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var ue,de=!0,W=!1;return{s:function(){U=F[Symbol.iterator]()},n:function(){var ve=U.next();return de=ve.done,ve},e:function(ve){W=!0,ue=ve},f:function(){try{de||U.return==null||U.return()}finally{if(W)throw ue}}}}function As(F,R){if(F){if(typeof F=="string")return uu(F,R);var U=Object.prototype.toString.call(F).slice(8,-1);return U==="Object"&&F.constructor&&(U=F.constructor.name),U==="Map"||U==="Set"?Array.from(F):U==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(U)?uu(F,R):void 0}}function uu(F,R){(R==null||R>F.length)&&(R=F.length);for(var U=0,H=new Array(R);U0){var et=ue(X);if(et!=null){var Dt,bt=ks(du);try{for(bt.s();!(Dt=bt.n()).done;)if(Dt.value.test(et))return!0}catch(fn){bt.e(fn)}finally{bt.f()}}}if(Y!=null&&Yu.size>0){var Zt,qt=Y.fileName,Ut=ks(Yu);try{for(Ut.s();!(Zt=Ut.n()).done;)if(Zt.value.test(qt))return!0}catch(fn){Ut.e(fn)}finally{Ut.f()}}return!1}function Gr(X){var Y=X.type;switch(X.tag){case Xe:case ar:return 1;case je:case rn:return 5;case wt:return 6;case lt:return 11;case yn:return 7;case Rt:case sn:case xt:return 9;case Hn:case Cr:return 8;case He:return 12;case Qe:return 13;default:switch(de(Y)){case 60111:case"Symbol(react.concurrent_mode)":case"Symbol(react.async_mode)":return 9;case 60109:case"Symbol(react.provider)":return 2;case 60110:case"Symbol(react.context)":return 2;case 60108:case"Symbol(react.strict_mode)":return 9;case 60114:case"Symbol(react.profiler)":return 10;default:return 9}}}function ir(X){if(Co.has(X))return X;var Y=X.alternate;return Y!=null&&Co.has(Y)?Y:(Co.add(X),X)}window.__REACT_DEVTOOLS_COMPONENT_FILTERS__!=null?qs(window.__REACT_DEVTOOLS_COMPONENT_FILTERS__):qs([{type:1,value:7,isEnabled:!0}]);var L0=new Map,Y0=new Map,Co=new Set,$u=new Map,Vo=new Map,Rr=-1;function Jn(X){if(!L0.has(X)){var Y=Ss();L0.set(X,Y),Y0.set(Y,X)}return L0.get(X)}function ai(X){switch(Gr(X)){case 1:if(N0!==null){var Y=Jn(ir(X)),ye=Vr(X);ye!==null&&N0.set(Y,ye)}}}var o0={};function Vr(X){switch(Gr(X)){case 1:var Y=X.stateNode,ye=o0,he=o0;return Y!=null&&(Y.constructor&&Y.constructor.contextType!=null?he=Y.context:(ye=Y.context)&&Object.keys(ye).length===0&&(ye=o0)),[ye,he];default:return null}}function ff(X){switch(Gr(X)){case 1:if(N0!==null){var Y=Jn(ir(X)),ye=N0.has(Y)?N0.get(Y):null,he=Vr(X);if(ye==null||he==null)return null;var We=Ru(ye,2),et=We[0],Dt=We[1],bt=Ru(he,2),Zt=bt[0],qt=bt[1];if(Zt!==o0)return $0(et,Zt);if(qt!==o0)return Dt!==qt}}return null}function cf(X,Y){if(X==null||Y==null)return!1;if(Y.hasOwnProperty("baseState")&&Y.hasOwnProperty("memoizedState")&&Y.hasOwnProperty("next")&&Y.hasOwnProperty("queue"))for(;Y!==null;){if(Y.memoizedState!==X.memoizedState)return!0;Y=Y.next,X=X.next}return!1}function $0(X,Y){if(X==null||Y==null||Y.hasOwnProperty("baseState")&&Y.hasOwnProperty("memoizedState")&&Y.hasOwnProperty("next")&&Y.hasOwnProperty("queue"))return null;var ye,he=[],We=ks(new Set([].concat(c0(Object.keys(X)),c0(Object.keys(Y)))));try{for(We.s();!(ye=We.n()).done;){var et=ye.value;X[et]!==Y[et]&&he.push(et)}}catch(Dt){We.e(Dt)}finally{We.f()}return he}function K0(X,Y){switch(Y.tag){case Xe:case je:case rt:case Hn:case Cr:return(zo(Y)&K)===K;default:return X.memoizedProps!==Y.memoizedProps||X.memoizedState!==Y.memoizedState||X.ref!==Y.ref}}var ae=[],Be=[],Ie=[],ht=[],mt=new Map,wn=0,Gn=null;function $t(X){ae.push(X)}function X0(X){if(ae.length!==0||Be.length!==0||Ie.length!==0||Gn!==null||u0){var Y=Be.length+Ie.length+(Gn===null?0:1),ye=new Array(3+wn+(Y>0?2+Y:0)+ae.length),he=0;if(ye[he++]=R,ye[he++]=Rr,ye[he++]=wn,mt.forEach(function(bt,Zt){ye[he++]=Zt.length;for(var qt=Cs(Zt),Ut=0;Ut0){ye[he++]=2,ye[he++]=Y;for(var We=Be.length-1;We>=0;We--)ye[he++]=Be[We];for(var et=0;et0?X.forEach(function(Y){F.emit("operations",Y)}):(Fn!==null&&(zr=!0),F.getFiberRoots(R).forEach(function(Y){T0(Rr=Jn(ir(Y.current)),Y.current),u0&&Y.memoizedInteractions!=null&&(uo={changeDescriptions:To?new Map:null,durations:[],commitTime:Os()-v0,interactions:Array.from(Y.memoizedInteractions).map(function(ye){return Bt(Bt({},ye),{},{timestamp:ye.timestamp-v0})}),maxActualDuration:0,priorityLevel:null}),$r(Y.current,null,!1,!1),X0(),Rr=-1}))},getBestMatchForTrackedPath:function(){if(Fn===null||pi===null)return null;for(var X=pi;X!==null&&F0(X);)X=X.return;return X===null?null:{id:Jn(ir(X)),isFullMatch:Br===Fn.length-1}},getDisplayNameForFiberID:function(X){var Y=Y0.get(X);return Y!=null?ue(Y):null},getFiberIDForNative:function(X){var Y=arguments.length>1&&arguments[1]!==void 0&&arguments[1],ye=U.findFiberByHostInstance(X);if(ye!=null){if(Y)for(;ye!==null&&F0(ye);)ye=ye.return;return Jn(ir(ye))}return null},getInstanceAndStyle:function(X){var Y=null,ye=null,he=J0(X);return he!==null&&(Y=he.stateNode,he.memoizedProps!==null&&(ye=he.memoizedProps.style)),{instance:Y,style:ye}},getOwnersList:function(X){var Y=J0(X);if(Y==null)return null;var ye=Y._debugOwner,he=[{displayName:ue(Y)||"Anonymous",id:X,type:Gr(Y)}];if(ye)for(var We=ye;We!==null;)he.unshift({displayName:ue(We)||"Anonymous",id:Jn(ir(We)),type:Gr(We)}),We=We._debugOwner||null;return he},getPathForElement:function(X){var Y=Y0.get(X);if(Y==null)return null;for(var ye=[];Y!==null;)ye.push(Ai(Y)),Y=Y.return;return ye.reverse(),ye},getProfilingData:function(){var X=[];if(pu===null)throw Error("getProfilingData() called before any profiling data was recorded");return pu.forEach(function(Y,ye){var he=[],We=[],et=new Map,Dt=new Map,bt=so!==null&&so.get(ye)||"Unknown";C0!=null&&C0.forEach(function(Zt,qt){di!=null&&di.get(qt)===ye&&We.push([qt,Zt])}),Y.forEach(function(Zt,qt){var Ut=Zt.changeDescriptions,fn=Zt.durations,_t=Zt.interactions,_r=Zt.maxActualDuration,Wr=Zt.priorityLevel,Ar=Zt.commitTime,z=[];_t.forEach(function(s0){et.has(s0.id)||et.set(s0.id,s0),z.push(s0.id);var t0=Dt.get(s0.id);t0!=null?t0.push(qt):Dt.set(s0.id,[qt])});for(var dr=[],Or=[],Qn=0;Qn1?kn.set(Ut,fn-1):kn.delete(Ut),wr.delete(Zt)}(Rr),Yr(ye,!1))}else T0(Rr,ye),$r(ye,null,!1,!1);if(u0&&We){var bt=pu.get(Rr);bt!=null?bt.push(uo):pu.set(Rr,[uo])}X0(),oo&&F.emit("traceUpdates",Hi),Rr=-1},handleCommitFiberUnmount:function(X){Yr(X,!1)},inspectElement:function(X,Y){if(Tr(X)){if(Y!=null){R0(Y);var ye=null;return Y[0]==="hooks"&&(ye="hooks"),{id:X,type:"hydrated-path",path:Y,value:qi(Ti(S0,Y),Nr(null,ye),Y)}}return{id:X,type:"no-change"}}if(El=!1,S0!==null&&S0.id===X||(Q0={}),(S0=af(X))===null)return{id:X,type:"not-found"};Y!=null&&R0(Y),function(We){var et=We.hooks,Dt=We.id,bt=We.props,Zt=Y0.get(Dt);if(Zt!=null){var qt=Zt.elementType,Ut=Zt.stateNode,fn=Zt.tag,_t=Zt.type;switch(fn){case Xe:case ar:case rn:H.$r=Ut;break;case je:H.$r={hooks:et,props:bt,type:_t};break;case wt:H.$r={props:bt,type:_t.render};break;case Hn:case Cr:H.$r={props:bt,type:qt!=null&&qt.type!=null?qt.type:_t};break;default:H.$r=null}}else console.warn('Could not find Fiber with id "'.concat(Dt,'"'))}(S0);var he=Bt({},S0);return he.context=qi(he.context,Nr("context",null)),he.hooks=qi(he.hooks,Nr("hooks","hooks")),he.props=qi(he.props,Nr("props",null)),he.state=qi(he.state,Nr("state",null)),{id:X,type:"full-data",value:he}},logElementToConsole:function(X){var Y=Tr(X)?S0:af(X);if(Y!==null){var ye=typeof console.groupCollapsed=="function";ye&&console.groupCollapsed("[Click to expand] %c<".concat(Y.displayName||"Component"," />"),"color: var(--dom-tag-name-color); font-weight: normal;"),Y.props!==null&&console.log("Props:",Y.props),Y.state!==null&&console.log("State:",Y.state),Y.hooks!==null&&console.log("Hooks:",Y.hooks);var he=zs(X);he!==null&&console.log("Nodes:",he),Y.source!==null&&console.log("Location:",Y.source),(window.chrome||/firefox/i.test(navigator.userAgent))&&console.log("Right-click any value to save it as a global variable for further inspection."),ye&&console.groupEnd()}else console.warn('Could not find Fiber with id "'.concat(X,'"'))},prepareViewAttributeSource:function(X,Y){Tr(X)&&(window.$attribute=Ti(S0,Y))},prepareViewElementSource:function(X){var Y=Y0.get(X);if(Y!=null){var ye=Y.elementType,he=Y.tag,We=Y.type;switch(he){case Xe:case ar:case rn:case je:H.$type=We;break;case wt:H.$type=We.render;break;case Hn:case Cr:H.$type=ye!=null&&ye.type!=null?ye.type:We;break;default:H.$type=null}}else console.warn('Could not find Fiber with id "'.concat(X,'"'))},overrideSuspense:function(X,Y){if(typeof Eo!="function"||typeof So!="function")throw new Error("Expected overrideSuspense() to not get called for earlier React versions.");Y?(B0.add(X),B0.size===1&&Eo(hu)):(B0.delete(X),B0.size===0&&Eo(Cl));var ye=Y0.get(X);ye!=null&&So(ye)},overrideValueAtPath:function(X,Y,ye,he,We){var et=J0(Y);if(et!==null){var Dt=et.stateNode;switch(X){case"context":switch(he=he.slice(1),et.tag){case Xe:he.length===0?Dt.context=We:fl(Dt.context,he,We),Dt.forceUpdate()}break;case"hooks":typeof p0=="function"&&p0(et,ye,he,We);break;case"props":switch(et.tag){case Xe:et.pendingProps=si(Dt.props,he,We),Dt.forceUpdate();break;default:typeof xi=="function"&&xi(et,he,We)}break;case"state":switch(et.tag){case Xe:fl(Dt.state,he,We),Dt.forceUpdate()}}}},renamePath:function(X,Y,ye,he,We){var et=J0(Y);if(et!==null){var Dt=et.stateNode;switch(X){case"context":switch(he=he.slice(1),We=We.slice(1),et.tag){case Xe:he.length===0||ll(Dt.context,he,We),Dt.forceUpdate()}break;case"hooks":typeof ci=="function"&&ci(et,ye,he,We);break;case"props":Dt===null?typeof qr=="function"&&qr(et,he,We):(et.pendingProps=Fr(Dt.props,he,We),Dt.forceUpdate());break;case"state":ll(Dt.state,he,We),Dt.forceUpdate()}}},renderer:U,setTraceUpdatesEnabled:function(X){oo=X},setTrackedPath:lo,startProfiling:Sl,stopProfiling:function(){u0=!1,To=!1},storeAsGlobal:function(X,Y,ye){if(Tr(X)){var he=Ti(S0,Y),We="$reactTemp".concat(ye);window[We]=he,console.log(We),console.log(he)}},updateComponentFilters:function(X){if(u0)throw Error("Cannot modify filter preferences while profiling");F.getFiberRoots(R).forEach(function(Y){Rr=Jn(ir(Y.current)),m0(Y.current),Yr(Y.current,!1),Rr=-1}),qs(X),kn.clear(),F.getFiberRoots(R).forEach(function(Y){T0(Rr=Jn(ir(Y.current)),Y.current),$r(Y.current,null,!1,!1),X0(Y),Rr=-1})}}}var _n;function Nu(F){return(Nu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(F)}function Wo(F,R,U){if(_n===void 0)try{throw Error()}catch(fe){var H=fe.stack.trim().match(/\n( *(at )?)/);_n=H&&H[1]||""}return` -`+_n+F}var su=!1;function Ps(F,R,U){if(!F||su)return"";var H,fe=Error.prepareStackTrace;Error.prepareStackTrace=void 0,su=!0;var ue=U.current;U.current=null;try{if(R){var de=function(){throw Error()};if(Object.defineProperty(de.prototype,"props",{set:function(){throw Error()}}),(typeof Reflect=="undefined"?"undefined":Nu(Reflect))==="object"&&Reflect.construct){try{Reflect.construct(de,[])}catch(xe){H=xe}Reflect.construct(F,[],de)}else{try{de.call()}catch(xe){H=xe}F.call(de.prototype)}}else{try{throw Error()}catch(xe){H=xe}F()}}catch(xe){if(xe&&H&&typeof xe.stack=="string"){for(var W=xe.stack.split(` -`),ve=H.stack.split(` -`),Fe=W.length-1,Ge=ve.length-1;Fe>=1&&Ge>=0&&W[Fe]!==ve[Ge];)Ge--;for(;Fe>=1&&Ge>=0;Fe--,Ge--)if(W[Fe]!==ve[Ge]){if(Fe!==1||Ge!==1)do if(Fe--,--Ge<0||W[Fe]!==ve[Ge])return` -`+W[Fe].replace(" at new "," at ");while(Fe>=1&&Ge>=0);break}}}finally{su=!1,Error.prepareStackTrace=fe,U.current=ue}var K=F?F.displayName||F.name:"";return K?Wo(K):""}function pl(F,R,U,H){return Ps(F,!1,H)}function Vf(F,R,U){var H=F.HostComponent,fe=F.LazyComponent,ue=F.SuspenseComponent,de=F.SuspenseListComponent,W=F.FunctionComponent,ve=F.IndeterminateComponent,Fe=F.SimpleMemoComponent,Ge=F.ForwardRef,K=F.Block,xe=F.ClassComponent;switch(R.tag){case H:return Wo(R.type);case fe:return Wo("Lazy");case ue:return Wo("Suspense");case de:return Wo("SuspenseList");case W:case ve:case Fe:return pl(R.type,0,0,U);case Ge:return pl(R.type.render,0,0,U);case K:return pl(R.type._render,0,0,U);case xe:return function(je,Xe,rt,st){return Ps(je,!0,st)}(R.type,0,0,U);default:return""}}function hl(F,R,U){try{var H="",fe=R;do H+=Vf(F,fe,U),fe=fe.return;while(fe);return H}catch(ue){return` -Error generating stack: `+ue.message+` -`+ue.stack}}function Bu(F,R){var U;if(typeof Symbol=="undefined"||F[Symbol.iterator]==null){if(Array.isArray(F)||(U=function(ve,Fe){if(!!ve){if(typeof ve=="string")return ju(ve,Fe);var Ge=Object.prototype.toString.call(ve).slice(8,-1);if(Ge==="Object"&&ve.constructor&&(Ge=ve.constructor.name),Ge==="Map"||Ge==="Set")return Array.from(ve);if(Ge==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Ge))return ju(ve,Fe)}}(F))||R&&F&&typeof F.length=="number"){U&&(F=U);var H=0,fe=function(){};return{s:fe,n:function(){return H>=F.length?{done:!0}:{done:!1,value:F[H++]}},e:function(ve){throw ve},f:fe}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var ue,de=!0,W=!1;return{s:function(){U=F[Symbol.iterator]()},n:function(){var ve=U.next();return de=ve.done,ve},e:function(ve){W=!0,ue=ve},f:function(){try{de||U.return==null||U.return()}finally{if(W)throw ue}}}}function ju(F,R){(R==null||R>F.length)&&(R=F.length);for(var U=0,H=new Array(R);U0?Fe[Fe.length-1]:null,xe=K!==null&&(ro.test(K)||Ms.test(K));if(!xe){var je,Xe=Bu(ml.values());try{for(Xe.s();!(je=Xe.n()).done;){var rt=je.value,st=rt.currentDispatcherRef,xt=rt.getCurrentFiber,wt=rt.workTagMap,lt=xt();if(lt!=null){var Rt=hl(wt,lt,st);Rt!==""&&Fe.push(Rt);break}}}catch(yn){Xe.e(yn)}finally{Xe.f()}}}catch(yn){}ue.apply(void 0,Fe)};de.__REACT_DEVTOOLS_ORIGINAL_METHOD__=ue,Uu[fe]=de}catch(W){}})}}function O0(F){return(O0=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(F)}function vl(F,R){for(var U=0;UF.length)&&(R=F.length);for(var U=0,H=new Array(R);U1?W-1:0),Fe=1;Fe0?K[K.length-1]:0),K.push(St),W.set(Ne,Fe(ft._topLevelWrapper));try{var Qt=He.apply(this,Qe);return K.pop(),Qt}catch(bn){throw K=[],bn}finally{if(K.length===0){var Cn=W.get(Ne);if(Cn===void 0)throw new Error("Expected to find root ID.");yn(Cn)}}},performUpdateIfNecessary:function(He,Qe){var Ne=Qe[0];if(P0(Ne)===9)return He.apply(this,Qe);var ft=Fe(Ne);K.push(ft);var St=ln(Ne);try{var Qt=He.apply(this,Qe),Cn=ln(Ne);return Ge(St,Cn)||Xe(Ne,ft,Cn),K.pop(),Qt}catch(p0){throw K=[],p0}finally{if(K.length===0){var bn=W.get(Ne);if(bn===void 0)throw new Error("Expected to find root ID.");yn(bn)}}},receiveComponent:function(He,Qe){var Ne=Qe[0];if(P0(Ne)===9)return He.apply(this,Qe);var ft=Fe(Ne);K.push(ft);var St=ln(Ne);try{var Qt=He.apply(this,Qe),Cn=ln(Ne);return Ge(St,Cn)||Xe(Ne,ft,Cn),K.pop(),Qt}catch(p0){throw K=[],p0}finally{if(K.length===0){var bn=W.get(Ne);if(bn===void 0)throw new Error("Expected to find root ID.");yn(bn)}}},unmountComponent:function(He,Qe){var Ne=Qe[0];if(P0(Ne)===9)return He.apply(this,Qe);var ft=Fe(Ne);K.push(ft);try{var St=He.apply(this,Qe);return K.pop(),function(Cn,bn){wt.push(bn),ue.delete(bn)}(0,ft),St}catch(Cn){throw K=[],Cn}finally{if(K.length===0){var Qt=W.get(Ne);if(Qt===void 0)throw new Error("Expected to find root ID.");yn(Qt)}}}}));var st=[],xt=new Map,wt=[],lt=0,Rt=null;function yn(He){if(st.length!==0||wt.length!==0||Rt!==null){var Qe=wt.length+(Rt===null?0:1),Ne=new Array(3+lt+(Qe>0?2+Qe:0)+st.length),ft=0;if(Ne[ft++]=R,Ne[ft++]=He,Ne[ft++]=lt,xt.forEach(function(Cn,bn){Ne[ft++]=bn.length;for(var p0=Cs(bn),h0=0;h00){Ne[ft++]=2,Ne[ft++]=Qe;for(var St=0;St"),"color: var(--dom-tag-name-color); font-weight: normal;"),Qe.props!==null&&console.log("Props:",Qe.props),Qe.state!==null&&console.log("State:",Qe.state),Qe.context!==null&&console.log("Context:",Qe.context);var ft=fe(He);ft!==null&&console.log("Node:",ft),(window.chrome||/firefox/i.test(navigator.userAgent))&&console.log("Right-click any value to save it as a global variable for further inspection."),Ne&&console.groupEnd()}else console.warn('Could not find element with id "'.concat(He,'"'))},overrideSuspense:function(){throw new Error("overrideSuspense not supported by this renderer")},overrideValueAtPath:function(He,Qe,Ne,ft,St){var Qt=ue.get(Qe);if(Qt!=null){var Cn=Qt._instance;if(Cn!=null)switch(He){case"context":fl(Cn.context,ft,St),a0(Cn);break;case"hooks":throw new Error("Hooks not supported by this renderer");case"props":var bn=Qt._currentElement;Qt._currentElement=V0(V0({},bn),{},{props:si(bn.props,ft,St)}),a0(Cn);break;case"state":fl(Cn.state,ft,St),a0(Cn)}}},renamePath:function(He,Qe,Ne,ft,St){var Qt=ue.get(Qe);if(Qt!=null){var Cn=Qt._instance;if(Cn!=null)switch(He){case"context":ll(Cn.context,ft,St),a0(Cn);break;case"hooks":throw new Error("Hooks not supported by this renderer");case"props":var bn=Qt._currentElement;Qt._currentElement=V0(V0({},bn),{},{props:Fr(bn.props,ft,St)}),a0(Cn);break;case"state":ll(Cn.state,ft,St),a0(Cn)}}},prepareViewAttributeSource:function(He,Qe){var Ne=Cr(He);Ne!==null&&(window.$attribute=Ti(Ne,Qe))},prepareViewElementSource:function(He){var Qe=ue.get(He);if(Qe!=null){var Ne=Qe._currentElement;Ne!=null?H.$type=Ne.type:console.warn('Could not find element with id "'.concat(He,'"'))}else console.warn('Could not find instance with id "'.concat(He,'"'))},renderer:U,setTraceUpdatesEnabled:function(He){},setTrackedPath:function(He){},startProfiling:function(){},stopProfiling:function(){},storeAsGlobal:function(He,Qe,Ne){var ft=Cr(He);if(ft!==null){var St=Ti(ft,Qe),Qt="$reactTemp".concat(Ne);window[Qt]=St,console.log(Qt),console.log(St)}},updateComponentFilters:function(He){}}}function nr(F,R){var U=!1,H={bottom:0,left:0,right:0,top:0},fe=R[F];if(fe!=null){for(var ue=0,de=Object.keys(H);ue0?"development":"production";var st=Function.prototype.toString;if(rt.Mount&&rt.Mount._renderNewRootComponent){var xt=st.call(rt.Mount._renderNewRootComponent);return xt.indexOf("function")!==0?"production":xt.indexOf("storedMeasure")!==-1?"development":xt.indexOf("should be a pure function")!==-1?xt.indexOf("NODE_ENV")!==-1||xt.indexOf("development")!==-1||xt.indexOf("true")!==-1?"development":xt.indexOf("nextElement")!==-1||xt.indexOf("nextComponent")!==-1?"unminified":"development":xt.indexOf("nextElement")!==-1||xt.indexOf("nextComponent")!==-1?"unminified":"outdated"}}catch(wt){}return"production"}(ve);try{var K=window.__REACT_DEVTOOLS_APPEND_COMPONENT_STACK__!==!1,xe=window.__REACT_DEVTOOLS_BREAK_ON_CONSOLE_ERRORS__===!0;(K||xe)&&(zi(ve),Ho({appendComponentStack:K,breakOnConsoleErrors:xe}))}catch(rt){}var je=F.__REACT_DEVTOOLS_ATTACH__;if(typeof je=="function"){var Xe=je(W,Fe,ve,F);W.rendererInterfaces.set(Fe,Xe)}return W.emit("renderer",{id:Fe,renderer:ve,reactBuildType:Ge}),Fe},on:function(ve,Fe){ue[ve]||(ue[ve]=[]),ue[ve].push(Fe)},off:function(ve,Fe){if(ue[ve]){var Ge=ue[ve].indexOf(Fe);Ge!==-1&&ue[ve].splice(Ge,1),ue[ve].length||delete ue[ve]}},sub:function(ve,Fe){return W.on(ve,Fe),function(){return W.off(ve,Fe)}},supportsFiber:!0,checkDCE:function(ve){try{Function.prototype.toString.call(ve).indexOf("^_^")>-1&&(U=!0,setTimeout(function(){throw new Error("React is running in production mode, but dead code elimination has not been applied. Read how to correctly configure React for production: https://reactjs.org/link/perf-use-production-build")}))}catch(Fe){}},onCommitFiberUnmount:function(ve,Fe){var Ge=fe.get(ve);Ge!=null&&Ge.handleCommitFiberUnmount(Fe)},onCommitFiberRoot:function(ve,Fe,Ge){var K=W.getFiberRoots(ve),xe=Fe.current,je=K.has(Fe),Xe=xe.memoizedState==null||xe.memoizedState.element==null;je||Xe?je&&Xe&&K.delete(Fe):K.add(Fe);var rt=fe.get(ve);rt!=null&&rt.handleCommitFiberRoot(Fe,Ge)}};Object.defineProperty(F,"__REACT_DEVTOOLS_GLOBAL_HOOK__",{configurable:!1,enumerable:!1,get:function(){return W}})})(window);var M0=window.__REACT_DEVTOOLS_GLOBAL_HOOK__,au=[{type:1,value:7,isEnabled:!0}];function Lr(F){if(M0!=null){var R=F||{},U=R.host,H=U===void 0?"localhost":U,fe=R.nativeStyleEditorValidAttributes,ue=R.useHttps,de=ue!==void 0&&ue,W=R.port,ve=W===void 0?8097:W,Fe=R.websocket,Ge=R.resolveRNStyle,K=Ge===void 0?null:Ge,xe=R.isAppActive,je=de?"wss":"ws",Xe=null;if((xe===void 0?function(){return!0}:xe)()){var rt=null,st=[],xt=je+"://"+H+":"+ve,wt=Fe||new window.WebSocket(xt);wt.onclose=function(){rt!==null&&rt.emit("shutdown"),lt()},wt.onerror=function(){lt()},wt.onmessage=function(Rt){var yn;try{if(typeof Rt.data!="string")throw Error();yn=JSON.parse(Rt.data)}catch(sn){return void console.error("[React DevTools] Failed to parse JSON: "+Rt.data)}st.forEach(function(sn){try{sn(yn)}catch(ar){throw console.log("[React DevTools] Error calling listener",yn),console.log("error:",ar),ar}})},wt.onopen=function(){(rt=new Do({listen:function(rn){return st.push(rn),function(){var Hn=st.indexOf(rn);Hn>=0&&st.splice(Hn,1)}},send:function(rn,Hn,d0){wt.readyState===wt.OPEN?wt.send(JSON.stringify({event:rn,payload:Hn})):(rt!==null&&rt.shutdown(),lt())}})).addListener("inspectElement",function(rn){var Hn=rn.id,d0=rn.rendererID,Cr=Rt.rendererInterfaces[d0];if(Cr!=null){var He=Cr.findNativeNodesForFiberID(Hn);He!=null&&He[0]!=null&&Rt.emit("showNativeHighlight",He[0])}}),rt.addListener("updateComponentFilters",function(rn){au=rn}),window.__REACT_DEVTOOLS_COMPONENT_FILTERS__==null&&rt.send("overrideComponentFilters",au);var Rt=new I0(rt);if(Rt.addListener("shutdown",function(){M0.emit("shutdown")}),function(rn,Hn,d0){if(rn==null)return function(){};var Cr=[rn.sub("renderer-attached",function(Ne){var ft=Ne.id,St=(Ne.renderer,Ne.rendererInterface);Hn.setRendererInterface(ft,St),St.flushInitialOperations()}),rn.sub("unsupported-renderer-version",function(Ne){Hn.onUnsupportedRenderer(Ne)}),rn.sub("operations",Hn.onHookOperations),rn.sub("traceUpdates",Hn.onTraceUpdates)],He=function(Ne,ft){var St=rn.rendererInterfaces.get(Ne);St==null&&(typeof ft.findFiberByHostInstance=="function"?St=uf(rn,Ne,ft,d0):ft.ComponentTree&&(St=lf(rn,Ne,ft,d0)),St!=null&&rn.rendererInterfaces.set(Ne,St)),St!=null?rn.emit("renderer-attached",{id:Ne,renderer:ft,rendererInterface:St}):rn.emit("unsupported-renderer-version",Ne)};rn.renderers.forEach(function(Ne,ft){He(ft,Ne)}),Cr.push(rn.sub("renderer",function(Ne){var ft=Ne.id,St=Ne.renderer;He(ft,St)})),rn.emit("react-devtools",Hn),rn.reactDevtoolsAgent=Hn;var Qe=function(){Cr.forEach(function(Ne){return Ne()}),rn.rendererInterfaces.forEach(function(Ne){Ne.cleanup()}),rn.reactDevtoolsAgent=null};Hn.addListener("shutdown",Qe),Cr.push(function(){Hn.removeListener("shutdown",Qe)})}(M0,Rt,window),K!=null||M0.resolveRNStyle!=null)Gu(rt,Rt,K||M0.resolveRNStyle,fe||M0.nativeStyleEditorValidAttributes||null);else{var yn,sn,ar=function(){rt!==null&&Gu(rt,Rt,yn,sn)};M0.hasOwnProperty("resolveRNStyle")||Object.defineProperty(M0,"resolveRNStyle",{enumerable:!1,get:function(){return yn},set:function(rn){yn=rn,ar()}}),M0.hasOwnProperty("nativeStyleEditorValidAttributes")||Object.defineProperty(M0,"nativeStyleEditorValidAttributes",{enumerable:!1,get:function(){return sn},set:function(rn){sn=rn,ar()}})}}}else lt()}function lt(){Xe===null&&(Xe=setTimeout(function(){return Lr(F)},2e3))}}}])})});var rS=Me(nS=>{"use strict";Object.defineProperty(nS,"__esModule",{value:!0});eS();var _j=tS();_j.connectToDevTools()});var lS=Me(x2=>{"use strict";var iS=x2&&x2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(x2,"__esModule",{value:!0});var oS=Ay(),yj=iS(lE()),uS=iS(hc()),no=Xy();process.env.DEV==="true"&&rS();var sS=i=>{i==null||i.unsetMeasureFunc(),i==null||i.freeRecursive()};x2.default=yj.default({schedulePassiveEffects:oS.unstable_scheduleCallback,cancelPassiveEffects:oS.unstable_cancelCallback,now:Date.now,getRootHostContext:()=>({isInsideText:!1}),prepareForCommit:()=>{},resetAfterCommit:i=>{if(i.isStaticDirty){i.isStaticDirty=!1,typeof i.onImmediateRender=="function"&&i.onImmediateRender();return}typeof i.onRender=="function"&&i.onRender()},getChildHostContext:(i,u)=>{let f=i.isInsideText,c=u==="ink-text"||u==="ink-virtual-text";return f===c?i:{isInsideText:c}},shouldSetTextContent:()=>!1,createInstance:(i,u,f,c)=>{if(c.isInsideText&&i==="ink-box")throw new Error(" can\u2019t be nested inside component");let g=i==="ink-text"&&c.isInsideText?"ink-virtual-text":i,t=no.createNode(g);for(let[C,A]of Object.entries(u))C!=="children"&&(C==="style"?no.setStyle(t,A):C==="internal_transform"?t.internal_transform=A:C==="internal_static"?t.internal_static=!0:no.setAttribute(t,C,A));return t},createTextInstance:(i,u,f)=>{if(!f.isInsideText)throw new Error(`Text string "${i}" must be rendered inside component`);return no.createTextNode(i)},resetTextContent:()=>{},hideTextInstance:i=>{no.setTextNodeValue(i,"")},unhideTextInstance:(i,u)=>{no.setTextNodeValue(i,u)},getPublicInstance:i=>i,hideInstance:i=>{var u;(u=i.yogaNode)===null||u===void 0||u.setDisplay(uS.default.DISPLAY_NONE)},unhideInstance:i=>{var u;(u=i.yogaNode)===null||u===void 0||u.setDisplay(uS.default.DISPLAY_FLEX)},appendInitialChild:no.appendChildNode,appendChild:no.appendChildNode,insertBefore:no.insertBeforeNode,finalizeInitialChildren:(i,u,f,c)=>(i.internal_static&&(c.isStaticDirty=!0,c.staticNode=i),!1),supportsMutation:!0,appendChildToContainer:no.appendChildNode,insertInContainerBefore:no.insertBeforeNode,removeChildFromContainer:(i,u)=>{no.removeChildNode(i,u),sS(u.yogaNode)},prepareUpdate:(i,u,f,c,g)=>{i.internal_static&&(g.isStaticDirty=!0);let t={},C=Object.keys(c);for(let A of C)if(c[A]!==f[A]){if(A==="style"&&typeof c.style=="object"&&typeof f.style=="object"){let D=c.style,L=f.style,N=Object.keys(D);for(let j of N){if(j==="borderStyle"||j==="borderColor"){if(typeof t.style!="object"){let $={};t.style=$}t.style.borderStyle=D.borderStyle,t.style.borderColor=D.borderColor}if(D[j]!==L[j]){if(typeof t.style!="object"){let $={};t.style=$}t.style[j]=D[j]}}continue}t[A]=c[A]}return t},commitUpdate:(i,u)=>{for(let[f,c]of Object.entries(u))f!=="children"&&(f==="style"?no.setStyle(i,c):f==="internal_transform"?i.internal_transform=c:f==="internal_static"?i.internal_static=!0:no.setAttribute(i,f,c))},commitTextUpdate:(i,u,f)=>{no.setTextNodeValue(i,f)},removeChild:(i,u)=>{no.removeChildNode(i,u),sS(u.yogaNode)}})});var cS=Me((Jb,fS)=>{"use strict";fS.exports=(i,u=1,f)=>{if(f=dt({indent:" ",includeEmptyLines:!1},f),typeof i!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof i}\``);if(typeof u!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof u}\``);if(typeof f.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof f.indent}\``);if(u===0)return i;let c=f.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return i.replace(c,f.indent.repeat(u))}});var aS=Me(k2=>{"use strict";var wj=k2&&k2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(k2,"__esModule",{value:!0});var Vh=wj(hc());k2.default=i=>i.getComputedWidth()-i.getComputedPadding(Vh.default.EDGE_LEFT)-i.getComputedPadding(Vh.default.EDGE_RIGHT)-i.getComputedBorder(Vh.default.EDGE_LEFT)-i.getComputedBorder(Vh.default.EDGE_RIGHT)});var pS=Me((Zb,dS)=>{dS.exports={single:{topLeft:"\u250C",topRight:"\u2510",bottomRight:"\u2518",bottomLeft:"\u2514",vertical:"\u2502",horizontal:"\u2500"},double:{topLeft:"\u2554",topRight:"\u2557",bottomRight:"\u255D",bottomLeft:"\u255A",vertical:"\u2551",horizontal:"\u2550"},round:{topLeft:"\u256D",topRight:"\u256E",bottomRight:"\u256F",bottomLeft:"\u2570",vertical:"\u2502",horizontal:"\u2500"},bold:{topLeft:"\u250F",topRight:"\u2513",bottomRight:"\u251B",bottomLeft:"\u2517",vertical:"\u2503",horizontal:"\u2501"},singleDouble:{topLeft:"\u2553",topRight:"\u2556",bottomRight:"\u255C",bottomLeft:"\u2559",vertical:"\u2551",horizontal:"\u2500"},doubleSingle:{topLeft:"\u2552",topRight:"\u2555",bottomRight:"\u255B",bottomLeft:"\u2558",vertical:"\u2502",horizontal:"\u2550"},classic:{topLeft:"+",topRight:"+",bottomRight:"+",bottomLeft:"+",vertical:"|",horizontal:"-"}}});var mS=Me((eG,m3)=>{"use strict";var hS=pS();m3.exports=hS;m3.exports.default=hS});var gS=Me((tG,vS)=>{"use strict";vS.exports=(i,u=process.argv)=>{let f=i.startsWith("-")?"":i.length===1?"-":"--",c=u.indexOf(f+i),g=u.indexOf("--");return c!==-1&&(g===-1||c{"use strict";var Dj=require("os"),yS=require("tty"),Pu=gS(),{env:oi}=process,qf;Pu("no-color")||Pu("no-colors")||Pu("color=false")||Pu("color=never")?qf=0:(Pu("color")||Pu("colors")||Pu("color=true")||Pu("color=always"))&&(qf=1);"FORCE_COLOR"in oi&&(oi.FORCE_COLOR==="true"?qf=1:oi.FORCE_COLOR==="false"?qf=0:qf=oi.FORCE_COLOR.length===0?1:Math.min(parseInt(oi.FORCE_COLOR,10),3));function v3(i){return i===0?!1:{level:i,hasBasic:!0,has256:i>=2,has16m:i>=3}}function g3(i,u){if(qf===0)return 0;if(Pu("color=16m")||Pu("color=full")||Pu("color=truecolor"))return 3;if(Pu("color=256"))return 2;if(i&&!u&&qf===void 0)return 0;let f=qf||0;if(oi.TERM==="dumb")return f;if(process.platform==="win32"){let c=Dj.release().split(".");return Number(c[0])>=10&&Number(c[2])>=10586?Number(c[2])>=14931?3:2:1}if("CI"in oi)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(c=>c in oi)||oi.CI_NAME==="codeship"?1:f;if("TEAMCITY_VERSION"in oi)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(oi.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in oi)return 1;if(oi.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in oi){let c=parseInt((oi.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(oi.TERM_PROGRAM){case"iTerm.app":return c>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(oi.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(oi.TERM)||"COLORTERM"in oi?1:f}function Ej(i){let u=g3(i,i&&i.isTTY);return v3(u)}_S.exports={supportsColor:Ej,stdout:v3(g3(!0,yS.isatty(1))),stderr:v3(g3(!0,yS.isatty(2)))}});var ES=Me((rG,DS)=>{"use strict";var Sj=(i,u,f)=>{let c=i.indexOf(u);if(c===-1)return i;let g=u.length,t=0,C="";do C+=i.substr(t,c-t)+u+f,t=c+g,c=i.indexOf(u,t);while(c!==-1);return C+=i.substr(t),C},Cj=(i,u,f,c)=>{let g=0,t="";do{let C=i[c-1]==="\r";t+=i.substr(g,(C?c-1:c)-g)+u+(C?`\r -`:` -`)+f,g=c+1,c=i.indexOf(` -`,g)}while(c!==-1);return t+=i.substr(g),t};DS.exports={stringReplaceAll:Sj,stringEncaseCRLFWithFirstIndex:Cj}});var kS=Me((iG,SS)=>{"use strict";var Tj=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,CS=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,xj=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,kj=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,Aj=new Map([["n",` -`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a","\x07"]]);function TS(i){let u=i[0]==="u",f=i[1]==="{";return u&&!f&&i.length===5||i[0]==="x"&&i.length===3?String.fromCharCode(parseInt(i.slice(1),16)):u&&f?String.fromCodePoint(parseInt(i.slice(2,-1),16)):Aj.get(i)||i}function Oj(i,u){let f=[],c=u.trim().split(/\s*,\s*/g),g;for(let t of c){let C=Number(t);if(!Number.isNaN(C))f.push(C);else if(g=t.match(xj))f.push(g[2].replace(kj,(A,x,D)=>x?TS(x):D));else throw new Error(`Invalid Chalk template style argument: ${t} (in style '${i}')`)}return f}function Ij(i){CS.lastIndex=0;let u=[],f;for(;(f=CS.exec(i))!==null;){let c=f[1];if(f[2]){let g=Oj(c,f[2]);u.push([c].concat(g))}else u.push([c])}return u}function xS(i,u){let f={};for(let g of u)for(let t of g.styles)f[t[0]]=g.inverse?null:t.slice(1);let c=i;for(let[g,t]of Object.entries(f))if(!!Array.isArray(t)){if(!(g in c))throw new Error(`Unknown Chalk style: ${g}`);c=t.length>0?c[g](...t):c[g]}return c}SS.exports=(i,u)=>{let f=[],c=[],g=[];if(u.replace(Tj,(t,C,A,x,D,L)=>{if(C)g.push(TS(C));else if(x){let N=g.join("");g=[],c.push(f.length===0?N:xS(i,f)(N)),f.push({inverse:A,styles:Ij(x)})}else if(D){if(f.length===0)throw new Error("Found extraneous } in Chalk template literal");c.push(xS(i,f)(g.join(""))),g=[],f.pop()}else g.push(L)}),c.push(g.join("")),f.length>0){let t=`Chalk template literal is missing ${f.length} closing bracket${f.length===1?"":"s"} (\`}\`)`;throw new Error(t)}return c.join("")}});var Jh=Me((oG,AS)=>{"use strict";var A2=Rh(),{stdout:_3,stderr:y3}=wS(),{stringReplaceAll:Pj,stringEncaseCRLFWithFirstIndex:Mj}=ES(),{isArray:Yh}=Array,OS=["ansi","ansi","ansi256","ansi16m"],ka=Object.create(null),Fj=(i,u={})=>{if(u.level&&!(Number.isInteger(u.level)&&u.level>=0&&u.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let f=_3?_3.level:0;i.level=u.level===void 0?f:u.level},IS=class{constructor(u){return PS(u)}},PS=i=>{let u={};return Fj(u,i),u.template=(...f)=>MS(u.template,...f),Object.setPrototypeOf(u,$h.prototype),Object.setPrototypeOf(u.template,u),u.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},u.template.Instance=IS,u.template};function $h(i){return PS(i)}for(let[i,u]of Object.entries(A2))ka[i]={get(){let f=Kh(this,w3(u.open,u.close,this._styler),this._isEmpty);return Object.defineProperty(this,i,{value:f}),f}};ka.visible={get(){let i=Kh(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:i}),i}};var LS=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let i of LS)ka[i]={get(){let{level:u}=this;return function(...f){let c=w3(A2.color[OS[u]][i](...f),A2.color.close,this._styler);return Kh(this,c,this._isEmpty)}}};for(let i of LS){let u="bg"+i[0].toUpperCase()+i.slice(1);ka[u]={get(){let{level:f}=this;return function(...c){let g=w3(A2.bgColor[OS[f]][i](...c),A2.bgColor.close,this._styler);return Kh(this,g,this._isEmpty)}}}}var Lj=Object.defineProperties(()=>{},zn(dt({},ka),{level:{enumerable:!0,get(){return this._generator.level},set(i){this._generator.level=i}}})),w3=(i,u,f)=>{let c,g;return f===void 0?(c=i,g=u):(c=f.openAll+i,g=u+f.closeAll),{open:i,close:u,openAll:c,closeAll:g,parent:f}},Kh=(i,u,f)=>{let c=(...g)=>Yh(g[0])&&Yh(g[0].raw)?RS(c,MS(c,...g)):RS(c,g.length===1?""+g[0]:g.join(" "));return Object.setPrototypeOf(c,Lj),c._generator=i,c._styler=u,c._isEmpty=f,c},RS=(i,u)=>{if(i.level<=0||!u)return i._isEmpty?"":u;let f=i._styler;if(f===void 0)return u;let{openAll:c,closeAll:g}=f;if(u.indexOf("")!==-1)for(;f!==void 0;)u=Pj(u,f.close,f.open),f=f.parent;let t=u.indexOf(` -`);return t!==-1&&(u=Mj(u,g,c,t)),c+u+g},D3,MS=(i,...u)=>{let[f]=u;if(!Yh(f)||!Yh(f.raw))return u.join(" ");let c=u.slice(1),g=[f.raw[0]];for(let t=1;t{"use strict";var Rj=O2&&O2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(O2,"__esModule",{value:!0});var I2=Rj(Jh()),Nj=/^(rgb|hsl|hsv|hwb)\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,Bj=/^(ansi|ansi256)\(\s?(\d+)\s?\)$/,Qh=(i,u)=>u==="foreground"?i:"bg"+i[0].toUpperCase()+i.slice(1);O2.default=(i,u,f)=>{if(!u)return i;if(u in I2.default){let g=Qh(u,f);return I2.default[g](i)}if(u.startsWith("#")){let g=Qh("hex",f);return I2.default[g](u)(i)}if(u.startsWith("ansi")){let g=Bj.exec(u);if(!g)return i;let t=Qh(g[1],f),C=Number(g[2]);return I2.default[t](C)(i)}if(u.startsWith("rgb")||u.startsWith("hsl")||u.startsWith("hsv")||u.startsWith("hwb")){let g=Nj.exec(u);if(!g)return i;let t=Qh(g[1],f),C=Number(g[2]),A=Number(g[3]),x=Number(g[4]);return I2.default[t](C,A,x)(i)}return i}});var BS=Me(P2=>{"use strict";var NS=P2&&P2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(P2,"__esModule",{value:!0});var jj=NS(mS()),S3=NS(E3());P2.default=(i,u,f,c)=>{if(typeof f.style.borderStyle=="string"){let g=f.yogaNode.getComputedWidth(),t=f.yogaNode.getComputedHeight(),C=f.style.borderColor,A=jj.default[f.style.borderStyle],x=S3.default(A.topLeft+A.horizontal.repeat(g-2)+A.topRight,C,"foreground"),D=(S3.default(A.vertical,C,"foreground")+` -`).repeat(t-2),L=S3.default(A.bottomLeft+A.horizontal.repeat(g-2)+A.bottomRight,C,"foreground");c.write(i,u,x,{transformers:[]}),c.write(i,u+1,D,{transformers:[]}),c.write(i+g-1,u+1,D,{transformers:[]}),c.write(i,u+t-1,L,{transformers:[]})}}});var US=Me(M2=>{"use strict";var _c=M2&&M2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(M2,"__esModule",{value:!0});var Uj=_c(hc()),qj=_c(jy()),zj=_c(cS()),Wj=_c(Yy()),Hj=_c(aS()),bj=_c(Ky()),Gj=_c(BS()),Vj=(i,u)=>{var f;let c=(f=i.childNodes[0])===null||f===void 0?void 0:f.yogaNode;if(c){let g=c.getComputedLeft(),t=c.getComputedTop();u=` -`.repeat(t)+zj.default(u,g)}return u},jS=(i,u,f)=>{var c;let{offsetX:g=0,offsetY:t=0,transformers:C=[],skipStaticElements:A}=f;if(A&&i.internal_static)return;let{yogaNode:x}=i;if(x){if(x.getDisplay()===Uj.default.DISPLAY_NONE)return;let D=g+x.getComputedLeft(),L=t+x.getComputedTop(),N=C;if(typeof i.internal_transform=="function"&&(N=[i.internal_transform,...C]),i.nodeName==="ink-text"){let j=bj.default(i);if(j.length>0){let $=qj.default(j),h=Hj.default(x);if($>h){let re=(c=i.style.textWrap)!==null&&c!==void 0?c:"wrap";j=Wj.default(j,h,re)}j=Vj(i,j),u.write(D,L,j,{transformers:N})}return}if(i.nodeName==="ink-box"&&Gj.default(D,L,i,u),i.nodeName==="ink-root"||i.nodeName==="ink-box")for(let j of i.childNodes)jS(j,u,{offsetX:D,offsetY:L,transformers:N,skipStaticElements:A})}};M2.default=jS});var zS=Me((fG,qS)=>{"use strict";qS.exports=i=>{i=Object.assign({onlyFirst:!1},i);let u=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(u,i.onlyFirst?void 0:"g")}});var HS=Me((cG,C3)=>{"use strict";var Yj=zS(),WS=i=>typeof i=="string"?i.replace(Yj(),""):i;C3.exports=WS;C3.exports.default=WS});var VS=Me((aG,bS)=>{"use strict";var GS="[\uD800-\uDBFF][\uDC00-\uDFFF]";bS.exports=i=>i&&i.exact?new RegExp(`^${GS}$`):new RegExp(GS,"g")});var $S=Me((dG,T3)=>{"use strict";var $j=HS(),Kj=VS(),YS=i=>$j(i).replace(Kj()," ").length;T3.exports=YS;T3.exports.default=YS});var QS=Me(F2=>{"use strict";var KS=F2&&F2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(F2,"__esModule",{value:!0});var XS=KS(Gy()),Xj=KS($S()),JS=class{constructor(u){this.writes=[];let{width:f,height:c}=u;this.width=f,this.height=c}write(u,f,c,g){let{transformers:t}=g;!c||this.writes.push({x:u,y:f,text:c,transformers:t})}get(){let u=[];for(let c=0;cc.trimRight()).join(` -`),height:u.length}}};F2.default=JS});var t5=Me(L2=>{"use strict";var x3=L2&&L2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(L2,"__esModule",{value:!0});var Jj=x3(hc()),ZS=x3(US()),e5=x3(QS());L2.default=(i,u)=>{var f;if(i.yogaNode.setWidth(u),i.yogaNode){i.yogaNode.calculateLayout(void 0,void 0,Jj.default.DIRECTION_LTR);let c=new e5.default({width:i.yogaNode.getComputedWidth(),height:i.yogaNode.getComputedHeight()});ZS.default(i,c,{skipStaticElements:!0});let g;((f=i.staticNode)===null||f===void 0?void 0:f.yogaNode)&&(g=new e5.default({width:i.staticNode.yogaNode.getComputedWidth(),height:i.staticNode.yogaNode.getComputedHeight()}),ZS.default(i.staticNode,g,{skipStaticElements:!1}));let{output:t,height:C}=c.get();return{output:t,outputHeight:C,staticOutput:g?`${g.get().output} -`:""}}return{output:"",outputHeight:0,staticOutput:""}}});var o5=Me((mG,n5)=>{"use strict";var r5=require("stream"),i5=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],k3={},Qj=i=>{let u=new r5.PassThrough,f=new r5.PassThrough;u.write=g=>i("stdout",g),f.write=g=>i("stderr",g);let c=new console.Console(u,f);for(let g of i5)k3[g]=console[g],console[g]=c[g];return()=>{for(let g of i5)console[g]=k3[g];k3={}}};n5.exports=Qj});var O3=Me(A3=>{"use strict";Object.defineProperty(A3,"__esModule",{value:!0});A3.default=new WeakMap});var P3=Me(I3=>{"use strict";Object.defineProperty(I3,"__esModule",{value:!0});var Zj=lr(),u5=Zj.createContext({exit:()=>{}});u5.displayName="InternalAppContext";I3.default=u5});var F3=Me(M3=>{"use strict";Object.defineProperty(M3,"__esModule",{value:!0});var eU=lr(),s5=eU.createContext({stdin:void 0,setRawMode:()=>{},isRawModeSupported:!1,internal_exitOnCtrlC:!0});s5.displayName="InternalStdinContext";M3.default=s5});var R3=Me(L3=>{"use strict";Object.defineProperty(L3,"__esModule",{value:!0});var tU=lr(),l5=tU.createContext({stdout:void 0,write:()=>{}});l5.displayName="InternalStdoutContext";L3.default=l5});var B3=Me(N3=>{"use strict";Object.defineProperty(N3,"__esModule",{value:!0});var nU=lr(),f5=nU.createContext({stderr:void 0,write:()=>{}});f5.displayName="InternalStderrContext";N3.default=f5});var Zh=Me(j3=>{"use strict";Object.defineProperty(j3,"__esModule",{value:!0});var rU=lr(),c5=rU.createContext({activeId:void 0,add:()=>{},remove:()=>{},activate:()=>{},deactivate:()=>{},enableFocus:()=>{},disableFocus:()=>{},focusNext:()=>{},focusPrevious:()=>{}});c5.displayName="InternalFocusContext";j3.default=c5});var d5=Me((EG,a5)=>{"use strict";var iU=/[|\\{}()[\]^$+*?.-]/g;a5.exports=i=>{if(typeof i!="string")throw new TypeError("Expected a string");return i.replace(iU,"\\$&")}});var v5=Me((SG,p5)=>{"use strict";var oU=d5(),h5=[].concat(require("module").builtinModules,"bootstrap_node","node").map(i=>new RegExp(`(?:\\(${i}\\.js:\\d+:\\d+\\)$|^\\s*at ${i}\\.js:\\d+:\\d+$)`));h5.push(/\(internal\/[^:]+:\d+:\d+\)$/,/\s*at internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);var em=class{constructor(u){u=dt({ignoredPackages:[]},u),"internals"in u||(u.internals=em.nodeInternals()),"cwd"in u||(u.cwd=process.cwd()),this._cwd=u.cwd.replace(/\\/g,"/"),this._internals=[].concat(u.internals,uU(u.ignoredPackages)),this._wrapCallSite=u.wrapCallSite||!1}static nodeInternals(){return[...h5]}clean(u,f=0){f=" ".repeat(f),Array.isArray(u)||(u=u.split(` -`)),!/^\s*at /.test(u[0])&&/^\s*at /.test(u[1])&&(u=u.slice(1));let c=!1,g=null,t=[];return u.forEach(C=>{if(C=C.replace(/\\/g,"/"),this._internals.some(x=>x.test(C)))return;let A=/^\s*at /.test(C);c?C=C.trimEnd().replace(/^(\s+)at /,"$1"):(C=C.trim(),A&&(C=C.slice(3))),C=C.replace(`${this._cwd}/`,""),C&&(A?(g&&(t.push(g),g=null),t.push(C)):(c=!0,g=C))}),t.map(C=>`${f}${C} -`).join("")}captureString(u,f=this.captureString){typeof u=="function"&&(f=u,u=Infinity);let{stackTraceLimit:c}=Error;u&&(Error.stackTraceLimit=u);let g={};Error.captureStackTrace(g,f);let{stack:t}=g;return Error.stackTraceLimit=c,this.clean(t)}capture(u,f=this.capture){typeof u=="function"&&(f=u,u=Infinity);let{prepareStackTrace:c,stackTraceLimit:g}=Error;Error.prepareStackTrace=(A,x)=>this._wrapCallSite?x.map(this._wrapCallSite):x,u&&(Error.stackTraceLimit=u);let t={};Error.captureStackTrace(t,f);let{stack:C}=t;return Object.assign(Error,{prepareStackTrace:c,stackTraceLimit:g}),C}at(u=this.at){let[f]=this.capture(1,u);if(!f)return{};let c={line:f.getLineNumber(),column:f.getColumnNumber()};m5(c,f.getFileName(),this._cwd),f.isConstructor()&&(c.constructor=!0),f.isEval()&&(c.evalOrigin=f.getEvalOrigin()),f.isNative()&&(c.native=!0);let g;try{g=f.getTypeName()}catch(A){}g&&g!=="Object"&&g!=="[object Object]"&&(c.type=g);let t=f.getFunctionName();t&&(c.function=t);let C=f.getMethodName();return C&&t!==C&&(c.method=C),c}parseLine(u){let f=u&&u.match(sU);if(!f)return null;let c=f[1]==="new",g=f[2],t=f[3],C=f[4],A=Number(f[5]),x=Number(f[6]),D=f[7],L=f[8],N=f[9],j=f[10]==="native",$=f[11]===")",h,re={};if(L&&(re.line=Number(L)),N&&(re.column=Number(N)),$&&D){let ce=0;for(let Q=D.length-1;Q>0;Q--)if(D.charAt(Q)===")")ce++;else if(D.charAt(Q)==="("&&D.charAt(Q-1)===" "&&(ce--,ce===-1&&D.charAt(Q-1)===" ")){let oe=D.slice(0,Q-1);D=D.slice(Q+1),g+=` (${oe}`;break}}if(g){let ce=g.match(lU);ce&&(g=ce[1],h=ce[2])}return m5(re,D,this._cwd),c&&(re.constructor=!0),t&&(re.evalOrigin=t,re.evalLine=A,re.evalColumn=x,re.evalFile=C&&C.replace(/\\/g,"/")),j&&(re.native=!0),g&&(re.function=g),h&&g!==h&&(re.method=h),re}};function m5(i,u,f){u&&(u=u.replace(/\\/g,"/"),u.startsWith(`${f}/`)&&(u=u.slice(f.length+1)),i.file=u)}function uU(i){if(i.length===0)return[];let u=i.map(f=>oU(f));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${u.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}var sU=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),lU=/^(.*?) \[as (.*?)\]$/;p5.exports=em});var _5=Me((CG,g5)=>{"use strict";g5.exports=(i,u)=>i.replace(/^\t+/gm,f=>" ".repeat(f.length*(u||2)))});var w5=Me((TG,y5)=>{"use strict";var fU=_5(),cU=(i,u)=>{let f=[],c=i-u,g=i+u;for(let t=c;t<=g;t++)f.push(t);return f};y5.exports=(i,u,f)=>{if(typeof i!="string")throw new TypeError("Source code is missing.");if(!u||u<1)throw new TypeError("Line number must start from `1`.");if(i=fU(i).split(/\r?\n/),!(u>i.length))return f=dt({around:3},f),cU(u,f.around).filter(c=>i[c-1]!==void 0).map(c=>({line:c,value:i[c-1]}))}});var tm=Me(hs=>{"use strict";var aU=hs&&hs.__createBinding||(Object.create?function(i,u,f,c){c===void 0&&(c=f),Object.defineProperty(i,c,{enumerable:!0,get:function(){return u[f]}})}:function(i,u,f,c){c===void 0&&(c=f),i[c]=u[f]}),dU=hs&&hs.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:!0,value:u})}:function(i,u){i.default=u}),pU=hs&&hs.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&aU(u,i,f);return dU(u,i),u},hU=hs&&hs.__rest||function(i,u){var f={};for(var c in i)Object.prototype.hasOwnProperty.call(i,c)&&u.indexOf(c)<0&&(f[c]=i[c]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var g=0,c=Object.getOwnPropertySymbols(i);g{var{children:f}=i,c=hU(i,["children"]);let g=Object.assign(Object.assign({},c),{marginLeft:c.marginLeft||c.marginX||c.margin||0,marginRight:c.marginRight||c.marginX||c.margin||0,marginTop:c.marginTop||c.marginY||c.margin||0,marginBottom:c.marginBottom||c.marginY||c.margin||0,paddingLeft:c.paddingLeft||c.paddingX||c.padding||0,paddingRight:c.paddingRight||c.paddingX||c.padding||0,paddingTop:c.paddingTop||c.paddingY||c.padding||0,paddingBottom:c.paddingBottom||c.paddingY||c.padding||0});return D5.default.createElement("ink-box",{ref:u,style:g},f)});U3.displayName="Box";U3.defaultProps={flexDirection:"row",flexGrow:0,flexShrink:1};hs.default=U3});var W3=Me(R2=>{"use strict";var q3=R2&&R2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(R2,"__esModule",{value:!0});var mU=q3(lr()),Aa=q3(Jh()),E5=q3(E3()),z3=({color:i,backgroundColor:u,dimColor:f,bold:c,italic:g,underline:t,strikethrough:C,inverse:A,wrap:x,children:D})=>{if(D==null)return null;let L=N=>(f&&(N=Aa.default.dim(N)),i&&(N=E5.default(N,i,"foreground")),u&&(N=E5.default(N,u,"background")),c&&(N=Aa.default.bold(N)),g&&(N=Aa.default.italic(N)),t&&(N=Aa.default.underline(N)),C&&(N=Aa.default.strikethrough(N)),A&&(N=Aa.default.inverse(N)),N);return mU.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:x},internal_transform:L},D)};z3.displayName="Text";z3.defaultProps={dimColor:!1,bold:!1,italic:!1,underline:!1,strikethrough:!1,wrap:"wrap"};R2.default=z3});var x5=Me(ms=>{"use strict";var vU=ms&&ms.__createBinding||(Object.create?function(i,u,f,c){c===void 0&&(c=f),Object.defineProperty(i,c,{enumerable:!0,get:function(){return u[f]}})}:function(i,u,f,c){c===void 0&&(c=f),i[c]=u[f]}),gU=ms&&ms.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:!0,value:u})}:function(i,u){i.default=u}),_U=ms&&ms.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&vU(u,i,f);return gU(u,i),u},N2=ms&&ms.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(ms,"__esModule",{value:!0});var S5=_U(require("fs")),ui=N2(lr()),C5=N2(v5()),yU=N2(w5()),ef=N2(tm()),il=N2(W3()),T5=new C5.default({cwd:process.cwd(),internals:C5.default.nodeInternals()}),wU=({error:i})=>{let u=i.stack?i.stack.split(` -`).slice(1):void 0,f=u?T5.parseLine(u[0]):void 0,c,g=0;if((f==null?void 0:f.file)&&(f==null?void 0:f.line)&&S5.existsSync(f.file)){let t=S5.readFileSync(f.file,"utf8");if(c=yU.default(t,f.line),c)for(let{line:C}of c)g=Math.max(g,String(C).length)}return ui.default.createElement(ef.default,{flexDirection:"column",padding:1},ui.default.createElement(ef.default,null,ui.default.createElement(il.default,{backgroundColor:"red",color:"white"}," ","ERROR"," "),ui.default.createElement(il.default,null," ",i.message)),f&&ui.default.createElement(ef.default,{marginTop:1},ui.default.createElement(il.default,{dimColor:!0},f.file,":",f.line,":",f.column)),f&&c&&ui.default.createElement(ef.default,{marginTop:1,flexDirection:"column"},c.map(({line:t,value:C})=>ui.default.createElement(ef.default,{key:t},ui.default.createElement(ef.default,{width:g+1},ui.default.createElement(il.default,{dimColor:t!==f.line,backgroundColor:t===f.line?"red":void 0,color:t===f.line?"white":void 0},String(t).padStart(g," "),":")),ui.default.createElement(il.default,{key:t,backgroundColor:t===f.line?"red":void 0,color:t===f.line?"white":void 0}," "+C)))),i.stack&&ui.default.createElement(ef.default,{marginTop:1,flexDirection:"column"},i.stack.split(` -`).slice(1).map(t=>{let C=T5.parseLine(t);return C?ui.default.createElement(ef.default,{key:t},ui.default.createElement(il.default,{dimColor:!0},"- "),ui.default.createElement(il.default,{dimColor:!0,bold:!0},C.function),ui.default.createElement(il.default,{dimColor:!0,color:"gray"}," ","(",C.file,":",C.line,":",C.column,")")):ui.default.createElement(ef.default,{key:t},ui.default.createElement(il.default,{dimColor:!0},"- "),ui.default.createElement(il.default,{dimColor:!0,bold:!0},t))})))};ms.default=wU});var A5=Me(vs=>{"use strict";var DU=vs&&vs.__createBinding||(Object.create?function(i,u,f,c){c===void 0&&(c=f),Object.defineProperty(i,c,{enumerable:!0,get:function(){return u[f]}})}:function(i,u,f,c){c===void 0&&(c=f),i[c]=u[f]}),EU=vs&&vs.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:!0,value:u})}:function(i,u){i.default=u}),SU=vs&&vs.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&DU(u,i,f);return EU(u,i),u},yc=vs&&vs.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(vs,"__esModule",{value:!0});var wc=SU(lr()),k5=yc(gy()),CU=yc(P3()),TU=yc(F3()),xU=yc(R3()),kU=yc(B3()),AU=yc(Zh()),OU=yc(x5()),IU=" ",PU="",MU="",H3=class extends wc.PureComponent{constructor(){super(...arguments);this.state={isFocusEnabled:!0,activeFocusId:void 0,focusables:[],error:void 0},this.rawModeEnabledCount=0,this.handleSetRawMode=u=>{let{stdin:f}=this.props;if(!this.isRawModeSupported())throw f===process.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default. -Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`):new Error(`Raw mode is not supported on the stdin provided to Ink. -Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(f.setEncoding("utf8"),u){this.rawModeEnabledCount===0&&(f.addListener("data",this.handleInput),f.resume(),f.setRawMode(!0)),this.rawModeEnabledCount++;return}--this.rawModeEnabledCount==0&&(f.setRawMode(!1),f.removeListener("data",this.handleInput),f.pause())},this.handleInput=u=>{u===""&&this.props.exitOnCtrlC&&this.handleExit(),u===MU&&this.state.activeFocusId&&this.setState({activeFocusId:void 0}),this.state.isFocusEnabled&&this.state.focusables.length>0&&(u===IU&&this.focusNext(),u===PU&&this.focusPrevious())},this.handleExit=u=>{this.isRawModeSupported()&&this.handleSetRawMode(!1),this.props.onExit(u)},this.enableFocus=()=>{this.setState({isFocusEnabled:!0})},this.disableFocus=()=>{this.setState({isFocusEnabled:!1})},this.focusNext=()=>{this.setState(u=>{let f=u.focusables[0].id;return{activeFocusId:this.findNextFocusable(u)||f}})},this.focusPrevious=()=>{this.setState(u=>{let f=u.focusables[u.focusables.length-1].id;return{activeFocusId:this.findPreviousFocusable(u)||f}})},this.addFocusable=(u,{autoFocus:f})=>{this.setState(c=>{let g=c.activeFocusId;return!g&&f&&(g=u),{activeFocusId:g,focusables:[...c.focusables,{id:u,isActive:!0}]}})},this.removeFocusable=u=>{this.setState(f=>({activeFocusId:f.activeFocusId===u?void 0:f.activeFocusId,focusables:f.focusables.filter(c=>c.id!==u)}))},this.activateFocusable=u=>{this.setState(f=>({focusables:f.focusables.map(c=>c.id!==u?c:{id:u,isActive:!0})}))},this.deactivateFocusable=u=>{this.setState(f=>({activeFocusId:f.activeFocusId===u?void 0:f.activeFocusId,focusables:f.focusables.map(c=>c.id!==u?c:{id:u,isActive:!1})}))},this.findNextFocusable=u=>{let f=u.focusables.findIndex(c=>c.id===u.activeFocusId);for(let c=f+1;c{let f=u.focusables.findIndex(c=>c.id===u.activeFocusId);for(let c=f-1;c>=0;c--)if(u.focusables[c].isActive)return u.focusables[c].id}}static getDerivedStateFromError(u){return{error:u}}isRawModeSupported(){return this.props.stdin.isTTY}render(){return wc.default.createElement(CU.default.Provider,{value:{exit:this.handleExit}},wc.default.createElement(TU.default.Provider,{value:{stdin:this.props.stdin,setRawMode:this.handleSetRawMode,isRawModeSupported:this.isRawModeSupported(),internal_exitOnCtrlC:this.props.exitOnCtrlC}},wc.default.createElement(xU.default.Provider,{value:{stdout:this.props.stdout,write:this.props.writeToStdout}},wc.default.createElement(kU.default.Provider,{value:{stderr:this.props.stderr,write:this.props.writeToStderr}},wc.default.createElement(AU.default.Provider,{value:{activeId:this.state.activeFocusId,add:this.addFocusable,remove:this.removeFocusable,activate:this.activateFocusable,deactivate:this.deactivateFocusable,enableFocus:this.enableFocus,disableFocus:this.disableFocus,focusNext:this.focusNext,focusPrevious:this.focusPrevious}},this.state.error?wc.default.createElement(OU.default,{error:this.state.error}):this.props.children)))))}componentDidMount(){k5.default.hide(this.props.stdout)}componentWillUnmount(){k5.default.show(this.props.stdout),this.isRawModeSupported()&&this.handleSetRawMode(!1)}componentDidCatch(u){this.handleExit(u)}};vs.default=H3;H3.displayName="InternalApp"});var M5=Me(gs=>{"use strict";var FU=gs&&gs.__createBinding||(Object.create?function(i,u,f,c){c===void 0&&(c=f),Object.defineProperty(i,c,{enumerable:!0,get:function(){return u[f]}})}:function(i,u,f,c){c===void 0&&(c=f),i[c]=u[f]}),LU=gs&&gs.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:!0,value:u})}:function(i,u){i.default=u}),RU=gs&&gs.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&FU(u,i,f);return LU(u,i),u},_s=gs&&gs.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(gs,"__esModule",{value:!0});var NU=_s(lr()),O5=AD(),BU=_s(WD()),jU=_s(ay()),UU=_s(KD()),qU=_s(JD()),nm=_s(lS()),zU=_s(t5()),WU=_s(vy()),HU=_s(o5()),bU=RU(Xy()),GU=_s(O3()),VU=_s(A5()),Oa=process.env.CI==="false"?!1:UU.default,I5=()=>{},P5=class{constructor(u){this.resolveExitPromise=()=>{},this.rejectExitPromise=()=>{},this.unsubscribeExit=()=>{},this.onRender=()=>{if(this.isUnmounted)return;let{output:f,outputHeight:c,staticOutput:g}=zU.default(this.rootNode,this.options.stdout.columns||80),t=g&&g!==` -`;if(this.options.debug){t&&(this.fullStaticOutput+=g),this.options.stdout.write(this.fullStaticOutput+f);return}if(Oa){t&&this.options.stdout.write(g),this.lastOutput=f;return}if(t&&(this.fullStaticOutput+=g),c>=this.options.stdout.rows){this.options.stdout.write(jU.default.clearTerminal+this.fullStaticOutput+f),this.lastOutput=f;return}t&&(this.log.clear(),this.options.stdout.write(g),this.log(f)),!t&&f!==this.lastOutput&&this.throttledLog(f),this.lastOutput=f},qU.default(this),this.options=u,this.rootNode=bU.createNode("ink-root"),this.rootNode.onRender=u.debug?this.onRender:O5.throttle(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=BU.default.create(u.stdout),this.throttledLog=u.debug?this.log:O5.throttle(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput="",this.fullStaticOutput="",this.container=nm.default.createContainer(this.rootNode,!1,!1),this.unsubscribeExit=WU.default(this.unmount,{alwaysLast:!1}),process.env.DEV==="true"&&nm.default.injectIntoDevTools({bundleType:0,version:"16.13.1",rendererPackageName:"ink"}),u.patchConsole&&this.patchConsole(),Oa||(u.stdout.on("resize",this.onRender),this.unsubscribeResize=()=>{u.stdout.off("resize",this.onRender)})}render(u){let f=NU.default.createElement(VU.default,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,exitOnCtrlC:this.options.exitOnCtrlC,onExit:this.unmount},u);nm.default.updateContainer(f,this.container,null,I5)}writeToStdout(u){if(!this.isUnmounted){if(this.options.debug){this.options.stdout.write(u+this.fullStaticOutput+this.lastOutput);return}if(Oa){this.options.stdout.write(u);return}this.log.clear(),this.options.stdout.write(u),this.log(this.lastOutput)}}writeToStderr(u){if(!this.isUnmounted){if(this.options.debug){this.options.stderr.write(u),this.options.stdout.write(this.fullStaticOutput+this.lastOutput);return}if(Oa){this.options.stderr.write(u);return}this.log.clear(),this.options.stderr.write(u),this.log(this.lastOutput)}}unmount(u){this.isUnmounted||(this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),Oa?this.options.stdout.write(this.lastOutput+` -`):this.options.debug||this.log.done(),this.isUnmounted=!0,nm.default.updateContainer(null,this.container,null,I5),GU.default.delete(this.options.stdout),u instanceof Error?this.rejectExitPromise(u):this.resolveExitPromise())}waitUntilExit(){return this.exitPromise||(this.exitPromise=new Promise((u,f)=>{this.resolveExitPromise=u,this.rejectExitPromise=f})),this.exitPromise}clear(){!Oa&&!this.options.debug&&this.log.clear()}patchConsole(){this.options.debug||(this.restoreConsole=HU.default((u,f)=>{u==="stdout"&&this.writeToStdout(f),u==="stderr"&&(f.startsWith("The above error occurred")||this.writeToStderr(f))}))}};gs.default=P5});var L5=Me(B2=>{"use strict";var F5=B2&&B2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(B2,"__esModule",{value:!0});var YU=F5(M5()),rm=F5(O3()),$U=require("stream"),JU=(i,u)=>{let f=Object.assign({stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0},KU(u)),c=XU(f.stdout,()=>new YU.default(f));return c.render(i),{rerender:c.render,unmount:()=>c.unmount(),waitUntilExit:c.waitUntilExit,cleanup:()=>rm.default.delete(f.stdout),clear:c.clear}};B2.default=JU;var KU=(i={})=>i instanceof $U.Stream?{stdout:i,stdin:process.stdin}:i,XU=(i,u)=>{let f;return rm.default.has(i)?f=rm.default.get(i):(f=u(),rm.default.set(i,f)),f}});var N5=Me(tf=>{"use strict";var QU=tf&&tf.__createBinding||(Object.create?function(i,u,f,c){c===void 0&&(c=f),Object.defineProperty(i,c,{enumerable:!0,get:function(){return u[f]}})}:function(i,u,f,c){c===void 0&&(c=f),i[c]=u[f]}),ZU=tf&&tf.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:!0,value:u})}:function(i,u){i.default=u}),eq=tf&&tf.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&QU(u,i,f);return ZU(u,i),u};Object.defineProperty(tf,"__esModule",{value:!0});var j2=eq(lr()),R5=i=>{let{items:u,children:f,style:c}=i,[g,t]=j2.useState(0),C=j2.useMemo(()=>u.slice(g),[u,g]);j2.useLayoutEffect(()=>{t(u.length)},[u.length]);let A=C.map((D,L)=>f(D,g+L)),x=j2.useMemo(()=>Object.assign({position:"absolute",flexDirection:"column"},c),[c]);return j2.default.createElement("ink-box",{internal_static:!0,style:x},A)};R5.displayName="Static";tf.default=R5});var j5=Me(U2=>{"use strict";var tq=U2&&U2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(U2,"__esModule",{value:!0});var nq=tq(lr()),B5=({children:i,transform:u})=>i==null?null:nq.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row"},internal_transform:u},i);B5.displayName="Transform";U2.default=B5});var q5=Me(q2=>{"use strict";var rq=q2&&q2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(q2,"__esModule",{value:!0});var iq=rq(lr()),U5=({count:i=1})=>iq.default.createElement("ink-text",null,` -`.repeat(i));U5.displayName="Newline";q2.default=U5});var H5=Me(z2=>{"use strict";var z5=z2&&z2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(z2,"__esModule",{value:!0});var oq=z5(lr()),uq=z5(tm()),W5=()=>oq.default.createElement(uq.default,{flexGrow:1});W5.displayName="Spacer";z2.default=W5});var im=Me(W2=>{"use strict";var sq=W2&&W2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(W2,"__esModule",{value:!0});var lq=lr(),fq=sq(F3()),cq=()=>lq.useContext(fq.default);W2.default=cq});var G5=Me(H2=>{"use strict";var aq=H2&&H2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(H2,"__esModule",{value:!0});var b5=lr(),dq=aq(im()),pq=(i,u={})=>{let{stdin:f,setRawMode:c,internal_exitOnCtrlC:g}=dq.default();b5.useEffect(()=>{if(u.isActive!==!1)return c(!0),()=>{c(!1)}},[u.isActive,c]),b5.useEffect(()=>{if(u.isActive===!1)return;let t=C=>{let A=String(C),x={upArrow:A==="",downArrow:A==="",leftArrow:A==="",rightArrow:A==="",pageDown:A==="[6~",pageUp:A==="[5~",return:A==="\r",escape:A==="",ctrl:!1,shift:!1,tab:A===" "||A==="",backspace:A==="\b",delete:A==="\x7F"||A==="[3~",meta:!1};A<=""&&!x.return&&(A=String.fromCharCode(A.charCodeAt(0)+"a".charCodeAt(0)-1),x.ctrl=!0),A.startsWith("")&&(A=A.slice(1),x.meta=!0);let D=A>="A"&&A<="Z",L=A>="\u0410"&&A<="\u042F";A.length===1&&(D||L)&&(x.shift=!0),x.tab&&A==="[Z"&&(x.shift=!0),(x.tab||x.backspace||x.delete)&&(A=""),(!(A==="c"&&x.ctrl)||!g)&&i(A,x)};return f==null||f.on("data",t),()=>{f==null||f.off("data",t)}},[u.isActive,f,g,i])};H2.default=pq});var V5=Me(b2=>{"use strict";var hq=b2&&b2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(b2,"__esModule",{value:!0});var mq=lr(),vq=hq(P3()),gq=()=>mq.useContext(vq.default);b2.default=gq});var Y5=Me(G2=>{"use strict";var _q=G2&&G2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(G2,"__esModule",{value:!0});var yq=lr(),wq=_q(R3()),Dq=()=>yq.useContext(wq.default);G2.default=Dq});var $5=Me(V2=>{"use strict";var Eq=V2&&V2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(V2,"__esModule",{value:!0});var Sq=lr(),Cq=Eq(B3()),Tq=()=>Sq.useContext(Cq.default);V2.default=Tq});var X5=Me(Y2=>{"use strict";var K5=Y2&&Y2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Y2,"__esModule",{value:!0});var $2=lr(),xq=K5(Zh()),kq=K5(im()),Aq=({isActive:i=!0,autoFocus:u=!1}={})=>{let{isRawModeSupported:f,setRawMode:c}=kq.default(),{activeId:g,add:t,remove:C,activate:A,deactivate:x}=$2.useContext(xq.default),D=$2.useMemo(()=>Math.random().toString().slice(2,7),[]);return $2.useEffect(()=>(t(D,{autoFocus:u}),()=>{C(D)}),[D,u]),$2.useEffect(()=>{i?A(D):x(D)},[i,D]),$2.useEffect(()=>{if(!(!f||!i))return c(!0),()=>{c(!1)}},[i]),{isFocused:Boolean(D)&&g===D}};Y2.default=Aq});var J5=Me(K2=>{"use strict";var Oq=K2&&K2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(K2,"__esModule",{value:!0});var Iq=lr(),Pq=Oq(Zh()),Mq=()=>{let i=Iq.useContext(Pq.default);return{enableFocus:i.enableFocus,disableFocus:i.disableFocus,focusNext:i.focusNext,focusPrevious:i.focusPrevious}};K2.default=Mq});var Q5=Me(b3=>{"use strict";Object.defineProperty(b3,"__esModule",{value:!0});b3.default=i=>{var u,f,c,g;return{width:(f=(u=i.yogaNode)===null||u===void 0?void 0:u.getComputedWidth())!==null&&f!==void 0?f:0,height:(g=(c=i.yogaNode)===null||c===void 0?void 0:c.getComputedHeight())!==null&&g!==void 0?g:0}}});var ys=Me(ji=>{"use strict";Object.defineProperty(ji,"__esModule",{value:!0});var Fq=L5();Object.defineProperty(ji,"render",{enumerable:!0,get:function(){return Fq.default}});var Lq=tm();Object.defineProperty(ji,"Box",{enumerable:!0,get:function(){return Lq.default}});var Rq=W3();Object.defineProperty(ji,"Text",{enumerable:!0,get:function(){return Rq.default}});var Nq=N5();Object.defineProperty(ji,"Static",{enumerable:!0,get:function(){return Nq.default}});var Bq=j5();Object.defineProperty(ji,"Transform",{enumerable:!0,get:function(){return Bq.default}});var jq=q5();Object.defineProperty(ji,"Newline",{enumerable:!0,get:function(){return jq.default}});var Uq=H5();Object.defineProperty(ji,"Spacer",{enumerable:!0,get:function(){return Uq.default}});var qq=G5();Object.defineProperty(ji,"useInput",{enumerable:!0,get:function(){return qq.default}});var zq=V5();Object.defineProperty(ji,"useApp",{enumerable:!0,get:function(){return zq.default}});var Wq=im();Object.defineProperty(ji,"useStdin",{enumerable:!0,get:function(){return Wq.default}});var Hq=Y5();Object.defineProperty(ji,"useStdout",{enumerable:!0,get:function(){return Hq.default}});var bq=$5();Object.defineProperty(ji,"useStderr",{enumerable:!0,get:function(){return bq.default}});var Gq=X5();Object.defineProperty(ji,"useFocus",{enumerable:!0,get:function(){return Gq.default}});var Vq=J5();Object.defineProperty(ji,"useFocusManager",{enumerable:!0,get:function(){return Vq.default}});var Yq=Q5();Object.defineProperty(ji,"measureElement",{enumerable:!0,get:function(){return Yq.default}})});var lC=Me(X2=>{"use strict";Object.defineProperty(X2,"__esModule",{value:!0});X2.UncontrolledTextInput=void 0;var oC=lr(),Y3=lr(),uC=ys(),Sc=Jh(),sC=({value:i,placeholder:u="",focus:f=!0,mask:c,highlightPastedText:g=!1,showCursor:t=!0,onChange:C,onSubmit:A})=>{let[{cursorOffset:x,cursorWidth:D},L]=Y3.useState({cursorOffset:(i||"").length,cursorWidth:0});Y3.useEffect(()=>{L(re=>{if(!f||!t)return re;let ce=i||"";return re.cursorOffset>ce.length-1?{cursorOffset:ce.length,cursorWidth:0}:re})},[i,f,t]);let N=g?D:0,j=c?c.repeat(i.length):i,$=j,h=u?Sc.grey(u):void 0;if(t&&f){h=u.length>0?Sc.inverse(u[0])+Sc.grey(u.slice(1)):Sc.inverse(" "),$=j.length>0?"":Sc.inverse(" ");let re=0;for(let ce of j)re>=x-N&&re<=x?$+=Sc.inverse(ce):$+=ce,re++;j.length>0&&x===j.length&&($+=Sc.inverse(" "))}return uC.useInput((re,ce)=>{if(ce.upArrow||ce.downArrow||ce.ctrl&&re==="c"||ce.tab||ce.shift&&ce.tab)return;if(ce.return){A&&A(i);return}let Q=x,oe=i,Se=0;ce.leftArrow?t&&Q--:ce.rightArrow?t&&Q++:ce.backspace||ce.delete?x>0&&(oe=i.slice(0,x-1)+i.slice(x,i.length),Q--):(oe=i.slice(0,x)+re+i.slice(x,i.length),Q+=re.length,re.length>1&&(Se=re.length)),x<0&&(Q=0),x>i.length&&(Q=i.length),L({cursorOffset:Q,cursorWidth:Se}),oe!==i&&C(oe)},{isActive:f}),oC.createElement(uC.Text,null,u?j.length>0?$:h:$)};X2.default=sC;X2.UncontrolledTextInput=i=>{let[u,f]=Y3.useState("");return oC.createElement(sC,Object.assign({},i,{value:u,onChange:f}))}});var cC=Me(pm=>{"use strict";Object.defineProperty(pm,"__esModule",{value:!0});function J2(i){let u=[...i.caches],f=u.shift();return f===void 0?fC():{get(c,g,t={miss:()=>Promise.resolve()}){return f.get(c,g,t).catch(()=>J2({caches:u}).get(c,g,t))},set(c,g){return f.set(c,g).catch(()=>J2({caches:u}).set(c,g))},delete(c){return f.delete(c).catch(()=>J2({caches:u}).delete(c))},clear(){return f.clear().catch(()=>J2({caches:u}).clear())}}}function fC(){return{get(i,u,f={miss:()=>Promise.resolve()}){return u().then(g=>Promise.all([g,f.miss(g)])).then(([g])=>g)},set(i,u){return Promise.resolve(u)},delete(i){return Promise.resolve()},clear(){return Promise.resolve()}}}pm.createFallbackableCache=J2;pm.createNullCache=fC});var dC=Me((fV,aC)=>{aC.exports=cC()});var pC=Me($3=>{"use strict";Object.defineProperty($3,"__esModule",{value:!0});function $q(i={serializable:!0}){let u={};return{get(f,c,g={miss:()=>Promise.resolve()}){let t=JSON.stringify(f);if(t in u)return Promise.resolve(i.serializable?JSON.parse(u[t]):u[t]);let C=c(),A=g&&g.miss||(()=>Promise.resolve());return C.then(x=>A(x)).then(()=>C)},set(f,c){return u[JSON.stringify(f)]=i.serializable?JSON.stringify(c):c,Promise.resolve(c)},delete(f){return delete u[JSON.stringify(f)],Promise.resolve()},clear(){return u={},Promise.resolve()}}}$3.createInMemoryCache=$q});var mC=Me((aV,hC)=>{hC.exports=pC()});var gC=Me(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});function Kq(i,u,f){let c={"x-algolia-api-key":f,"x-algolia-application-id":u};return{headers(){return i===K3.WithinHeaders?c:{}},queryParameters(){return i===K3.WithinQueryParameters?c:{}}}}function Xq(i){let u=0,f=()=>(u++,new Promise(c=>{setTimeout(()=>{c(i(f))},Math.min(100*u,1e3))}));return i(f)}function vC(i,u=(f,c)=>Promise.resolve()){return Object.assign(i,{wait(f){return vC(i.then(c=>Promise.all([u(c,f),c])).then(c=>c[1]))}})}function Jq(i){let u=i.length-1;for(u;u>0;u--){let f=Math.floor(Math.random()*(u+1)),c=i[u];i[u]=i[f],i[f]=c}return i}function Qq(i,u){return Object.keys(u!==void 0?u:{}).forEach(f=>{i[f]=u[f](i)}),i}function Zq(i,...u){let f=0;return i.replace(/%s/g,()=>encodeURIComponent(u[f++]))}var ez="4.2.0",tz=i=>()=>i.transporter.requester.destroy(),K3={WithinQueryParameters:0,WithinHeaders:1};ws.AuthMode=K3;ws.addMethods=Qq;ws.createAuth=Kq;ws.createRetryablePromise=Xq;ws.createWaitablePromise=vC;ws.destroy=tz;ws.encode=Zq;ws.shuffle=Jq;ws.version=ez});var Q2=Me((pV,_C)=>{_C.exports=gC()});var yC=Me(X3=>{"use strict";Object.defineProperty(X3,"__esModule",{value:!0});var nz={Delete:"DELETE",Get:"GET",Post:"POST",Put:"PUT"};X3.MethodEnum=nz});var Z2=Me((mV,wC)=>{wC.exports=yC()});var RC=Me(y0=>{"use strict";Object.defineProperty(y0,"__esModule",{value:!0});var DC=Z2();function J3(i,u){let f=i||{},c=f.data||{};return Object.keys(f).forEach(g=>{["timeout","headers","queryParameters","data","cacheable"].indexOf(g)===-1&&(c[g]=f[g])}),{data:Object.entries(c).length>0?c:void 0,timeout:f.timeout||u,headers:f.headers||{},queryParameters:f.queryParameters||{},cacheable:f.cacheable}}var hm={Read:1,Write:2,Any:3},Ia={Up:1,Down:2,Timeouted:3},EC=2*60*1e3;function Q3(i,u=Ia.Up){return zn(dt({},i),{status:u,lastUpdate:Date.now()})}function SC(i){return i.status===Ia.Up||Date.now()-i.lastUpdate>EC}function CC(i){return i.status===Ia.Timeouted&&Date.now()-i.lastUpdate<=EC}function Z3(i){return{protocol:i.protocol||"https",url:i.url,accept:i.accept||hm.Any}}function rz(i,u){return Promise.all(u.map(f=>i.get(f,()=>Promise.resolve(Q3(f))))).then(f=>{let c=f.filter(A=>SC(A)),g=f.filter(A=>CC(A)),t=[...c,...g],C=t.length>0?t.map(A=>Z3(A)):u;return{getTimeout(A,x){return(g.length===0&&A===0?1:g.length+3+A)*x},statelessHosts:C}})}var iz=({isTimedOut:i,status:u})=>!i&&~~u==0,oz=i=>{let u=i.status;return i.isTimedOut||iz(i)||~~(u/100)!=2&&~~(u/100)!=4},uz=({status:i})=>~~(i/100)==2,sz=(i,u)=>oz(i)?u.onRetry(i):uz(i)?u.onSucess(i):u.onFail(i);function PC(i,u,f,c){let g=[],t=AC(f,c),C=OC(i,c),A=f.method,x=f.method!==DC.MethodEnum.Get?{}:dt(dt({},f.data),c.data),D=dt(dt(dt({"x-algolia-agent":i.userAgent.value},i.queryParameters),x),c.queryParameters),L=0,N=(j,$)=>{let h=j.pop();if(h===void 0)throw IC(ew(g));let re={data:t,headers:C,method:A,url:kC(h,f.path,D),connectTimeout:$(L,i.timeouts.connect),responseTimeout:$(L,c.timeout)},ce=oe=>{let Se={request:re,response:oe,host:h,triesLeft:j.length};return g.push(Se),Se},Q={onSucess:oe=>TC(oe),onRetry(oe){let Se=ce(oe);return oe.isTimedOut&&L++,Promise.all([i.logger.info("Retryable failure",tw(Se)),i.hostsCache.set(h,Q3(h,oe.isTimedOut?Ia.Timeouted:Ia.Down))]).then(()=>N(j,$))},onFail(oe){throw ce(oe),xC(oe,ew(g))}};return i.requester.send(re).then(oe=>sz(oe,Q))};return rz(i.hostsCache,u).then(j=>N([...j.statelessHosts].reverse(),j.getTimeout))}function lz(i){let{hostsCache:u,logger:f,requester:c,requestsCache:g,responsesCache:t,timeouts:C,userAgent:A,hosts:x,queryParameters:D,headers:L}=i,N={hostsCache:u,logger:f,requester:c,requestsCache:g,responsesCache:t,timeouts:C,userAgent:A,headers:L,queryParameters:D,hosts:x.map(j=>Z3(j)),read(j,$){let h=J3($,N.timeouts.read),re=()=>PC(N,N.hosts.filter(oe=>(oe.accept&hm.Read)!=0),j,h);if((h.cacheable!==void 0?h.cacheable:j.cacheable)!==!0)return re();let Q={request:j,mappedRequestOptions:h,transporter:{queryParameters:N.queryParameters,headers:N.headers}};return N.responsesCache.get(Q,()=>N.requestsCache.get(Q,()=>N.requestsCache.set(Q,re()).then(oe=>Promise.all([N.requestsCache.delete(Q),oe]),oe=>Promise.all([N.requestsCache.delete(Q),Promise.reject(oe)])).then(([oe,Se])=>Se)),{miss:oe=>N.responsesCache.set(Q,oe)})},write(j,$){return PC(N,N.hosts.filter(h=>(h.accept&hm.Write)!=0),j,J3($,N.timeouts.write))}};return N}function fz(i){let u={value:`Algolia for JavaScript (${i})`,add(f){let c=`; ${f.segment}${f.version!==void 0?` (${f.version})`:""}`;return u.value.indexOf(c)===-1&&(u.value=`${u.value}${c}`),u}};return u}function TC(i){try{return JSON.parse(i.content)}catch(u){throw MC(u.message,i)}}function xC({content:i,status:u},f){let c=i;try{c=JSON.parse(i).message}catch(g){}return FC(c,u,f)}function cz(i,...u){let f=0;return i.replace(/%s/g,()=>encodeURIComponent(u[f++]))}function kC(i,u,f){let c=LC(f),g=`${i.protocol}://${i.url}/${u.charAt(0)==="/"?u.substr(1):u}`;return c.length&&(g+=`?${c}`),g}function LC(i){let u=f=>Object.prototype.toString.call(f)==="[object Object]"||Object.prototype.toString.call(f)==="[object Array]";return Object.keys(i).map(f=>cz("%s=%s",f,u(i[f])?JSON.stringify(i[f]):i[f])).join("&")}function AC(i,u){if(i.method===DC.MethodEnum.Get||i.data===void 0&&u.data===void 0)return;let f=Array.isArray(i.data)?i.data:dt(dt({},i.data),u.data);return JSON.stringify(f)}function OC(i,u){let f=dt(dt({},i.headers),u.headers),c={};return Object.keys(f).forEach(g=>{let t=f[g];c[g.toLowerCase()]=t}),c}function ew(i){return i.map(u=>tw(u))}function tw(i){let u=i.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return zn(dt({},i),{request:zn(dt({},i.request),{headers:dt(dt({},i.request.headers),u)})})}function FC(i,u,f){return{name:"ApiError",message:i,status:u,transporterStackTrace:f}}function MC(i,u){return{name:"DeserializationError",message:i,response:u}}function IC(i){return{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:i}}y0.CallEnum=hm;y0.HostStatusEnum=Ia;y0.createApiError=FC;y0.createDeserializationError=MC;y0.createMappedRequestOptions=J3;y0.createRetryError=IC;y0.createStatefulHost=Q3;y0.createStatelessHost=Z3;y0.createTransporter=lz;y0.createUserAgent=fz;y0.deserializeFailure=xC;y0.deserializeSuccess=TC;y0.isStatefulHostTimeouted=CC;y0.isStatefulHostUp=SC;y0.serializeData=AC;y0.serializeHeaders=OC;y0.serializeQueryParameters=LC;y0.serializeUrl=kC;y0.stackFrameWithoutCredentials=tw;y0.stackTraceWithoutCredentials=ew});var ed=Me((gV,NC)=>{NC.exports=RC()});var BC=Me(Hf=>{"use strict";Object.defineProperty(Hf,"__esModule",{value:!0});var Pa=Q2(),az=ed(),td=Z2(),dz=i=>{let u=i.region||"us",f=Pa.createAuth(Pa.AuthMode.WithinHeaders,i.appId,i.apiKey),c=az.createTransporter(zn(dt({hosts:[{url:`analytics.${u}.algolia.com`}]},i),{headers:dt(zn(dt({},f.headers()),{"content-type":"application/json"}),i.headers),queryParameters:dt(dt({},f.queryParameters()),i.queryParameters)})),g=i.appId;return Pa.addMethods({appId:g,transporter:c},i.methods)},pz=i=>(u,f)=>i.transporter.write({method:td.MethodEnum.Post,path:"2/abtests",data:u},f),hz=i=>(u,f)=>i.transporter.write({method:td.MethodEnum.Delete,path:Pa.encode("2/abtests/%s",u)},f),mz=i=>(u,f)=>i.transporter.read({method:td.MethodEnum.Get,path:Pa.encode("2/abtests/%s",u)},f),vz=i=>u=>i.transporter.read({method:td.MethodEnum.Get,path:"2/abtests"},u),gz=i=>(u,f)=>i.transporter.write({method:td.MethodEnum.Post,path:Pa.encode("2/abtests/%s/stop",u)},f);Hf.addABTest=pz;Hf.createAnalyticsClient=dz;Hf.deleteABTest=hz;Hf.getABTest=mz;Hf.getABTests=vz;Hf.stopABTest=gz});var UC=Me((yV,jC)=>{jC.exports=BC()});var zC=Me(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});var nw=Q2(),_z=ed(),qC=Z2(),yz=i=>{let u=i.region||"us",f=nw.createAuth(nw.AuthMode.WithinHeaders,i.appId,i.apiKey),c=_z.createTransporter(zn(dt({hosts:[{url:`recommendation.${u}.algolia.com`}]},i),{headers:dt(zn(dt({},f.headers()),{"content-type":"application/json"}),i.headers),queryParameters:dt(dt({},f.queryParameters()),i.queryParameters)}));return nw.addMethods({appId:i.appId,transporter:c},i.methods)},wz=i=>u=>i.transporter.read({method:qC.MethodEnum.Get,path:"1/strategies/personalization"},u),Dz=i=>(u,f)=>i.transporter.write({method:qC.MethodEnum.Post,path:"1/strategies/personalization",data:u},f);nd.createRecommendationClient=yz;nd.getPersonalizationStrategy=wz;nd.setPersonalizationStrategy=Dz});var HC=Me((DV,WC)=>{WC.exports=zC()});var nT=Me(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});var Wt=Q2(),jo=ed(),Rn=Z2(),Ez=require("crypto");function mm(i){let u=f=>i.request(f).then(c=>{if(i.batch!==void 0&&i.batch(c.hits),!i.shouldStop(c))return c.cursor?u({cursor:c.cursor}):u({page:(f.page||0)+1})});return u({})}var Sz=i=>{let u=i.appId,f=Wt.createAuth(i.authMode!==void 0?i.authMode:Wt.AuthMode.WithinHeaders,u,i.apiKey),c=jo.createTransporter(zn(dt({hosts:[{url:`${u}-dsn.algolia.net`,accept:jo.CallEnum.Read},{url:`${u}.algolia.net`,accept:jo.CallEnum.Write}].concat(Wt.shuffle([{url:`${u}-1.algolianet.com`},{url:`${u}-2.algolianet.com`},{url:`${u}-3.algolianet.com`}]))},i),{headers:dt(zn(dt({},f.headers()),{"content-type":"application/x-www-form-urlencoded"}),i.headers),queryParameters:dt(dt({},f.queryParameters()),i.queryParameters)})),g={transporter:c,appId:u,addAlgoliaAgent(t,C){c.userAgent.add({segment:t,version:C})},clearCache(){return Promise.all([c.requestsCache.clear(),c.responsesCache.clear()]).then(()=>{})}};return Wt.addMethods(g,i.methods)};function bC(){return{name:"MissingObjectIDError",message:"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option."}}function GC(){return{name:"ObjectNotFoundError",message:"Object not found."}}function VC(){return{name:"ValidUntilNotFoundError",message:"ValidUntil not found in given secured api key."}}var Cz=i=>(u,f)=>{let A=f||{},{queryParameters:c}=A,g=Si(A,["queryParameters"]),t=dt({acl:u},c!==void 0?{queryParameters:c}:{}),C=(x,D)=>Wt.createRetryablePromise(L=>rd(i)(x.key,D).catch(N=>{if(N.status!==404)throw N;return L()}));return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:"1/keys",data:t},g),C)},Tz=i=>(u,f,c)=>{let g=jo.createMappedRequestOptions(c);return g.queryParameters["X-Algolia-User-ID"]=u,i.transporter.write({method:Rn.MethodEnum.Post,path:"1/clusters/mapping",data:{cluster:f}},g)},xz=i=>(u,f,c)=>i.transporter.write({method:Rn.MethodEnum.Post,path:"1/clusters/mapping/batch",data:{users:u,cluster:f}},c),vm=i=>(u,f,c)=>{let g=(t,C)=>id(i)(u,{methods:{waitTask:z0}}).waitTask(t.taskID,C);return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/operation",u),data:{operation:"copy",destination:f}},c),g)},kz=i=>(u,f,c)=>vm(i)(u,f,zn(dt({},c),{scope:[gm.Rules]})),Az=i=>(u,f,c)=>vm(i)(u,f,zn(dt({},c),{scope:[gm.Settings]})),Oz=i=>(u,f,c)=>vm(i)(u,f,zn(dt({},c),{scope:[gm.Synonyms]})),Iz=i=>(u,f)=>{let c=(g,t)=>Wt.createRetryablePromise(C=>rd(i)(u,t).then(C).catch(A=>{if(A.status!==404)throw A}));return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Delete,path:Wt.encode("1/keys/%s",u)},f),c)},Pz=()=>(i,u)=>{let f=jo.serializeQueryParameters(u),c=Ez.createHmac("sha256",i).update(f).digest("hex");return Buffer.from(c+f).toString("base64")},rd=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/keys/%s",u)},f),Mz=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:"1/logs"},u),Fz=()=>i=>{let u=Buffer.from(i,"base64").toString("ascii"),f=/validUntil=(\d+)/,c=u.match(f);if(c===null)throw VC();return parseInt(c[1],10)-Math.round(new Date().getTime()/1e3)},Lz=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:"1/clusters/mapping/top"},u),Rz=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/clusters/mapping/%s",u)},f),Nz=i=>u=>{let g=u||{},{retrieveMappings:f}=g,c=Si(g,["retrieveMappings"]);return f===!0&&(c.getClusters=!0),i.transporter.read({method:Rn.MethodEnum.Get,path:"1/clusters/mapping/pending"},c)},id=i=>(u,f={})=>{let c={transporter:i.transporter,appId:i.appId,indexName:u};return Wt.addMethods(c,f.methods)},Bz=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:"1/keys"},u),jz=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:"1/clusters"},u),Uz=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:"1/indexes"},u),qz=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:"1/clusters/mapping"},u),zz=i=>(u,f,c)=>{let g=(t,C)=>id(i)(u,{methods:{waitTask:z0}}).waitTask(t.taskID,C);return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/operation",u),data:{operation:"move",destination:f}},c),g)},Wz=i=>(u,f)=>{let c=(g,t)=>Promise.all(Object.keys(g.taskID).map(C=>id(i)(C,{methods:{waitTask:z0}}).waitTask(g.taskID[C],t)));return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:"1/indexes/*/batch",data:{requests:u}},f),c)},Hz=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:u}},f),bz=i=>(u,f)=>{let c=u.map(g=>zn(dt({},g),{params:jo.serializeQueryParameters(g.params||{})}));return i.transporter.read({method:Rn.MethodEnum.Post,path:"1/indexes/*/queries",data:{requests:c},cacheable:!0},f)},Gz=i=>(u,f)=>Promise.all(u.map(c=>{let A=c.params,{facetName:g,facetQuery:t}=A,C=Si(A,["facetName","facetQuery"]);return id(i)(c.indexName,{methods:{searchForFacetValues:YC}}).searchForFacetValues(g,t,dt(dt({},f),C))})),Vz=i=>(u,f)=>{let c=jo.createMappedRequestOptions(f);return c.queryParameters["X-Algolia-User-ID"]=u,i.transporter.write({method:Rn.MethodEnum.Delete,path:"1/clusters/mapping"},c)},Yz=i=>(u,f)=>{let c=(g,t)=>Wt.createRetryablePromise(C=>rd(i)(u,t).catch(A=>{if(A.status!==404)throw A;return C()}));return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/keys/%s/restore",u)},f),c)},$z=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Post,path:"1/clusters/mapping/search",data:{query:u}},f),Kz=i=>(u,f)=>{let c=Object.assign({},f),L=f||{},{queryParameters:g}=L,t=Si(L,["queryParameters"]),C=g?{queryParameters:g}:{},A=["acl","indexes","referers","restrictSources","queryParameters","description","maxQueriesPerIPPerHour","maxHitsPerQuery"],x=N=>Object.keys(c).filter(j=>A.indexOf(j)!==-1).every(j=>N[j]===c[j]),D=(N,j)=>Wt.createRetryablePromise($=>rd(i)(u,j).then(h=>x(h)?Promise.resolve():$()));return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Put,path:Wt.encode("1/keys/%s",u),data:C},t),D)},$C=i=>(u,f)=>{let c=(g,t)=>z0(i)(g.taskID,t);return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/batch",i.indexName),data:{requests:u}},f),c)},Xz=i=>u=>mm(zn(dt({},u),{shouldStop:f=>f.cursor===void 0,request:f=>i.transporter.read({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/browse",i.indexName),data:f},u)})),Jz=i=>u=>{let f=dt({hitsPerPage:1e3},u);return mm(zn(dt({},f),{shouldStop:c=>c.hits.lengthzn(dt({},g),{hits:g.hits.map(t=>(delete t._highlightResult,t))}))}}))},Qz=i=>u=>{let f=dt({hitsPerPage:1e3},u);return mm(zn(dt({},f),{shouldStop:c=>c.hits.lengthzn(dt({},g),{hits:g.hits.map(t=>(delete t._highlightResult,t))}))}}))},_m=i=>(u,f,c)=>{let x=c||{},{batchSize:g}=x,t=Si(x,["batchSize"]),C={taskIDs:[],objectIDs:[]},A=(D=0)=>{let L=[],N;for(N=D;N({action:f,body:j})),t).then(j=>(C.objectIDs=C.objectIDs.concat(j.objectIDs),C.taskIDs.push(j.taskID),N++,A(N)))};return Wt.createWaitablePromise(A(),(D,L)=>Promise.all(D.taskIDs.map(N=>z0(i)(N,L))))},Zz=i=>u=>Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/clear",i.indexName)},u),(f,c)=>z0(i)(f.taskID,c)),eW=i=>u=>{let t=u||{},{forwardToReplicas:f}=t,c=Si(t,["forwardToReplicas"]),g=jo.createMappedRequestOptions(c);return f&&(g.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/rules/clear",i.indexName)},g),(C,A)=>z0(i)(C.taskID,A))},tW=i=>u=>{let t=u||{},{forwardToReplicas:f}=t,c=Si(t,["forwardToReplicas"]),g=jo.createMappedRequestOptions(c);return f&&(g.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/synonyms/clear",i.indexName)},g),(C,A)=>z0(i)(C.taskID,A))},nW=i=>(u,f)=>Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/deleteByQuery",i.indexName),data:u},f),(c,g)=>z0(i)(c.taskID,g)),rW=i=>u=>Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Delete,path:Wt.encode("1/indexes/%s",i.indexName)},u),(f,c)=>z0(i)(f.taskID,c)),iW=i=>(u,f)=>Wt.createWaitablePromise(JC(i)([u],f).then(c=>({taskID:c.taskIDs[0]})),(c,g)=>z0(i)(c.taskID,g)),JC=i=>(u,f)=>{let c=u.map(g=>({objectID:g}));return _m(i)(c,Cc.DeleteObject,f)},oW=i=>(u,f)=>{let C=f||{},{forwardToReplicas:c}=C,g=Si(C,["forwardToReplicas"]),t=jo.createMappedRequestOptions(g);return c&&(t.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Delete,path:Wt.encode("1/indexes/%s/rules/%s",i.indexName,u)},t),(A,x)=>z0(i)(A.taskID,x))},uW=i=>(u,f)=>{let C=f||{},{forwardToReplicas:c}=C,g=Si(C,["forwardToReplicas"]),t=jo.createMappedRequestOptions(g);return c&&(t.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Delete,path:Wt.encode("1/indexes/%s/synonyms/%s",i.indexName,u)},t),(A,x)=>z0(i)(A.taskID,x))},sW=i=>u=>QC(i)(u).then(()=>!0).catch(f=>{if(f.status!==404)throw f;return!1}),lW=i=>(u,f)=>{let x=f||{},{query:c,paginate:g}=x,t=Si(x,["query","paginate"]),C=0,A=()=>ZC(i)(c||"",zn(dt({},t),{page:C})).then(D=>{for(let[L,N]of Object.entries(D.hits))if(u(N))return{object:N,position:parseInt(L,10),page:C};if(C++,g===!1||C>=D.nbPages)throw GC();return A()});return A()},fW=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/indexes/%s/%s",i.indexName,u)},f),cW=()=>(i,u)=>{for(let[f,c]of Object.entries(i.hits))if(c.objectID===u)return parseInt(f,10);return-1},aW=i=>(u,f)=>{let C=f||{},{attributesToRetrieve:c}=C,g=Si(C,["attributesToRetrieve"]),t=u.map(A=>dt({indexName:i.indexName,objectID:A},c?{attributesToRetrieve:c}:{}));return i.transporter.read({method:Rn.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:t}},g)},dW=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/indexes/%s/rules/%s",i.indexName,u)},f),QC=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/indexes/%s/settings",i.indexName),data:{getVersion:2}},u),pW=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/indexes/%s/synonyms/%s",i.indexName,u)},f),eT=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/indexes/%s/task/%s",i.indexName,u.toString())},f),hW=i=>(u,f)=>Wt.createWaitablePromise(tT(i)([u],f).then(c=>({objectID:c.objectIDs[0],taskID:c.taskIDs[0]})),(c,g)=>z0(i)(c.taskID,g)),tT=i=>(u,f)=>{let C=f||{},{createIfNotExists:c}=C,g=Si(C,["createIfNotExists"]),t=c?Cc.PartialUpdateObject:Cc.PartialUpdateObjectNoCreate;return _m(i)(u,t,g)},mW=i=>(u,f)=>{let h=f||{},{safe:c,autoGenerateObjectIDIfNotExist:g,batchSize:t}=h,C=Si(h,["safe","autoGenerateObjectIDIfNotExist","batchSize"]),A=(re,ce,Q,oe)=>Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/operation",re),data:{operation:Q,destination:ce}},oe),(Se,me)=>z0(i)(Se.taskID,me)),x=Math.random().toString(36).substring(7),D=`${i.indexName}_tmp_${x}`,L=rw({appId:i.appId,transporter:i.transporter,indexName:D}),N=[],j=A(i.indexName,D,"copy",zn(dt({},C),{scope:["settings","synonyms","rules"]}));N.push(j);let $=(c?j.wait(C):j).then(()=>{let re=L(u,zn(dt({},C),{autoGenerateObjectIDIfNotExist:g,batchSize:t}));return N.push(re),c?re.wait(C):re}).then(()=>{let re=A(D,i.indexName,"move",C);return N.push(re),c?re.wait(C):re}).then(()=>Promise.all(N)).then(([re,ce,Q])=>({objectIDs:ce.objectIDs,taskIDs:[re.taskID,...ce.taskIDs,Q.taskID]}));return Wt.createWaitablePromise($,(re,ce)=>Promise.all(N.map(Q=>Q.wait(ce))))},vW=i=>(u,f)=>iw(i)(u,zn(dt({},f),{clearExistingRules:!0})),gW=i=>(u,f)=>ow(i)(u,zn(dt({},f),{replaceExistingSynonyms:!0})),_W=i=>(u,f)=>Wt.createWaitablePromise(rw(i)([u],f).then(c=>({objectID:c.objectIDs[0],taskID:c.taskIDs[0]})),(c,g)=>z0(i)(c.taskID,g)),rw=i=>(u,f)=>{let C=f||{},{autoGenerateObjectIDIfNotExist:c}=C,g=Si(C,["autoGenerateObjectIDIfNotExist"]),t=c?Cc.AddObject:Cc.UpdateObject;if(t===Cc.UpdateObject){for(let A of u)if(A.objectID===void 0)return Wt.createWaitablePromise(Promise.reject(bC()))}return _m(i)(u,t,g)},yW=i=>(u,f)=>iw(i)([u],f),iw=i=>(u,f)=>{let A=f||{},{forwardToReplicas:c,clearExistingRules:g}=A,t=Si(A,["forwardToReplicas","clearExistingRules"]),C=jo.createMappedRequestOptions(t);return c&&(C.queryParameters.forwardToReplicas=1),g&&(C.queryParameters.clearExistingRules=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/rules/batch",i.indexName),data:u},C),(x,D)=>z0(i)(x.taskID,D))},wW=i=>(u,f)=>ow(i)([u],f),ow=i=>(u,f)=>{let A=f||{},{forwardToReplicas:c,replaceExistingSynonyms:g}=A,t=Si(A,["forwardToReplicas","replaceExistingSynonyms"]),C=jo.createMappedRequestOptions(t);return c&&(C.queryParameters.forwardToReplicas=1),g&&(C.queryParameters.replaceExistingSynonyms=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/synonyms/batch",i.indexName),data:u},C),(x,D)=>z0(i)(x.taskID,D))},ZC=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/query",i.indexName),data:{query:u},cacheable:!0},f),YC=i=>(u,f,c)=>i.transporter.read({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/facets/%s/query",i.indexName,u),data:{facetQuery:f},cacheable:!0},c),KC=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/rules/search",i.indexName),data:{query:u}},f),XC=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/synonyms/search",i.indexName),data:{query:u}},f),DW=i=>(u,f)=>{let C=f||{},{forwardToReplicas:c}=C,g=Si(C,["forwardToReplicas"]),t=jo.createMappedRequestOptions(g);return c&&(t.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Put,path:Wt.encode("1/indexes/%s/settings",i.indexName),data:u},t),(A,x)=>z0(i)(A.taskID,x))},z0=i=>(u,f)=>Wt.createRetryablePromise(c=>eT(i)(u,f).then(g=>g.status!=="published"?c():void 0)),EW={AddObject:"addObject",Analytics:"analytics",Browser:"browse",DeleteIndex:"deleteIndex",DeleteObject:"deleteObject",EditSettings:"editSettings",ListIndexes:"listIndexes",Logs:"logs",Recommendation:"recommendation",Search:"search",SeeUnretrievableAttributes:"seeUnretrievableAttributes",Settings:"settings",Usage:"usage"},Cc={AddObject:"addObject",UpdateObject:"updateObject",PartialUpdateObject:"partialUpdateObject",PartialUpdateObjectNoCreate:"partialUpdateObjectNoCreate",DeleteObject:"deleteObject"},gm={Settings:"settings",Synonyms:"synonyms",Rules:"rules"},SW={None:"none",StopIfEnoughMatches:"stopIfEnoughMatches"},CW={Synonym:"synonym",OneWaySynonym:"oneWaySynonym",AltCorrection1:"altCorrection1",AltCorrection2:"altCorrection2",Placeholder:"placeholder"};yt.ApiKeyACLEnum=EW;yt.BatchActionEnum=Cc;yt.ScopeEnum=gm;yt.StrategyEnum=SW;yt.SynonymEnum=CW;yt.addApiKey=Cz;yt.assignUserID=Tz;yt.assignUserIDs=xz;yt.batch=$C;yt.browseObjects=Xz;yt.browseRules=Jz;yt.browseSynonyms=Qz;yt.chunkedBatch=_m;yt.clearObjects=Zz;yt.clearRules=eW;yt.clearSynonyms=tW;yt.copyIndex=vm;yt.copyRules=kz;yt.copySettings=Az;yt.copySynonyms=Oz;yt.createBrowsablePromise=mm;yt.createMissingObjectIDError=bC;yt.createObjectNotFoundError=GC;yt.createSearchClient=Sz;yt.createValidUntilNotFoundError=VC;yt.deleteApiKey=Iz;yt.deleteBy=nW;yt.deleteIndex=rW;yt.deleteObject=iW;yt.deleteObjects=JC;yt.deleteRule=oW;yt.deleteSynonym=uW;yt.exists=sW;yt.findObject=lW;yt.generateSecuredApiKey=Pz;yt.getApiKey=rd;yt.getLogs=Mz;yt.getObject=fW;yt.getObjectPosition=cW;yt.getObjects=aW;yt.getRule=dW;yt.getSecuredApiKeyRemainingValidity=Fz;yt.getSettings=QC;yt.getSynonym=pW;yt.getTask=eT;yt.getTopUserIDs=Lz;yt.getUserID=Rz;yt.hasPendingMappings=Nz;yt.initIndex=id;yt.listApiKeys=Bz;yt.listClusters=jz;yt.listIndices=Uz;yt.listUserIDs=qz;yt.moveIndex=zz;yt.multipleBatch=Wz;yt.multipleGetObjects=Hz;yt.multipleQueries=bz;yt.multipleSearchForFacetValues=Gz;yt.partialUpdateObject=hW;yt.partialUpdateObjects=tT;yt.removeUserID=Vz;yt.replaceAllObjects=mW;yt.replaceAllRules=vW;yt.replaceAllSynonyms=gW;yt.restoreApiKey=Yz;yt.saveObject=_W;yt.saveObjects=rw;yt.saveRule=yW;yt.saveRules=iw;yt.saveSynonym=wW;yt.saveSynonyms=ow;yt.search=ZC;yt.searchForFacetValues=YC;yt.searchRules=KC;yt.searchSynonyms=XC;yt.searchUserIDs=$z;yt.setSettings=DW;yt.updateApiKey=Kz;yt.waitTask=z0});var iT=Me((SV,rT)=>{rT.exports=nT()});var oT=Me(ym=>{"use strict";Object.defineProperty(ym,"__esModule",{value:!0});function TW(){return{debug(i,u){return Promise.resolve()},info(i,u){return Promise.resolve()},error(i,u){return Promise.resolve()}}}var xW={Debug:1,Info:2,Error:3};ym.LogLevelEnum=xW;ym.createNullLogger=TW});var sT=Me((TV,uT)=>{uT.exports=oT()});var cT=Me(uw=>{"use strict";Object.defineProperty(uw,"__esModule",{value:!0});var lT=require("http"),fT=require("https"),kW=require("url");function AW(){let i={keepAlive:!0},u=new lT.Agent(i),f=new fT.Agent(i);return{send(c){return new Promise(g=>{let t=kW.parse(c.url),C=t.query===null?t.pathname:`${t.pathname}?${t.query}`,A=dt({agent:t.protocol==="https:"?f:u,hostname:t.hostname,path:C,method:c.method,headers:c.headers},t.port!==void 0?{port:t.port||""}:{}),x=(t.protocol==="https:"?fT:lT).request(A,j=>{let $="";j.on("data",h=>$+=h),j.on("end",()=>{clearTimeout(L),clearTimeout(N),g({status:j.statusCode||0,content:$,isTimedOut:!1})})}),D=(j,$)=>setTimeout(()=>{x.abort(),g({status:0,content:$,isTimedOut:!0})},j*1e3),L=D(c.connectTimeout,"Connection timeout"),N;x.on("error",j=>{clearTimeout(L),clearTimeout(N),g({status:0,content:j.message,isTimedOut:!1})}),x.once("response",()=>{clearTimeout(L),N=D(c.responseTimeout,"Socket timeout")}),c.data!==void 0&&x.write(c.data),x.end()})},destroy(){return u.destroy(),f.destroy(),Promise.resolve()}}}uw.createNodeHttpRequester=AW});var dT=Me((kV,aT)=>{aT.exports=cT()});var vT=Me((AV,pT)=>{"use strict";var hT=dC(),OW=mC(),Ma=UC(),sw=Q2(),lw=HC(),Mt=iT(),IW=sT(),PW=dT(),MW=ed();function mT(i,u,f){let c={appId:i,apiKey:u,timeouts:{connect:2,read:5,write:30},requester:PW.createNodeHttpRequester(),logger:IW.createNullLogger(),responsesCache:hT.createNullCache(),requestsCache:hT.createNullCache(),hostsCache:OW.createInMemoryCache(),userAgent:MW.createUserAgent(sw.version).add({segment:"Node.js",version:process.versions.node})};return Mt.createSearchClient(zn(dt(dt({},c),f),{methods:{search:Mt.multipleQueries,searchForFacetValues:Mt.multipleSearchForFacetValues,multipleBatch:Mt.multipleBatch,multipleGetObjects:Mt.multipleGetObjects,multipleQueries:Mt.multipleQueries,copyIndex:Mt.copyIndex,copySettings:Mt.copySettings,copyRules:Mt.copyRules,copySynonyms:Mt.copySynonyms,moveIndex:Mt.moveIndex,listIndices:Mt.listIndices,getLogs:Mt.getLogs,listClusters:Mt.listClusters,multipleSearchForFacetValues:Mt.multipleSearchForFacetValues,getApiKey:Mt.getApiKey,addApiKey:Mt.addApiKey,listApiKeys:Mt.listApiKeys,updateApiKey:Mt.updateApiKey,deleteApiKey:Mt.deleteApiKey,restoreApiKey:Mt.restoreApiKey,assignUserID:Mt.assignUserID,assignUserIDs:Mt.assignUserIDs,getUserID:Mt.getUserID,searchUserIDs:Mt.searchUserIDs,listUserIDs:Mt.listUserIDs,getTopUserIDs:Mt.getTopUserIDs,removeUserID:Mt.removeUserID,hasPendingMappings:Mt.hasPendingMappings,generateSecuredApiKey:Mt.generateSecuredApiKey,getSecuredApiKeyRemainingValidity:Mt.getSecuredApiKeyRemainingValidity,destroy:sw.destroy,initIndex:g=>t=>Mt.initIndex(g)(t,{methods:{batch:Mt.batch,delete:Mt.deleteIndex,getObject:Mt.getObject,getObjects:Mt.getObjects,saveObject:Mt.saveObject,saveObjects:Mt.saveObjects,search:Mt.search,searchForFacetValues:Mt.searchForFacetValues,waitTask:Mt.waitTask,setSettings:Mt.setSettings,getSettings:Mt.getSettings,partialUpdateObject:Mt.partialUpdateObject,partialUpdateObjects:Mt.partialUpdateObjects,deleteObject:Mt.deleteObject,deleteObjects:Mt.deleteObjects,deleteBy:Mt.deleteBy,clearObjects:Mt.clearObjects,browseObjects:Mt.browseObjects,getObjectPosition:Mt.getObjectPosition,findObject:Mt.findObject,exists:Mt.exists,saveSynonym:Mt.saveSynonym,saveSynonyms:Mt.saveSynonyms,getSynonym:Mt.getSynonym,searchSynonyms:Mt.searchSynonyms,browseSynonyms:Mt.browseSynonyms,deleteSynonym:Mt.deleteSynonym,clearSynonyms:Mt.clearSynonyms,replaceAllObjects:Mt.replaceAllObjects,replaceAllSynonyms:Mt.replaceAllSynonyms,searchRules:Mt.searchRules,getRule:Mt.getRule,deleteRule:Mt.deleteRule,saveRule:Mt.saveRule,saveRules:Mt.saveRules,replaceAllRules:Mt.replaceAllRules,browseRules:Mt.browseRules,clearRules:Mt.clearRules}}),initAnalytics:()=>g=>Ma.createAnalyticsClient(zn(dt(dt({},c),g),{methods:{addABTest:Ma.addABTest,getABTest:Ma.getABTest,getABTests:Ma.getABTests,stopABTest:Ma.stopABTest,deleteABTest:Ma.deleteABTest}})),initRecommendation:()=>g=>lw.createRecommendationClient(zn(dt(dt({},c),g),{methods:{getPersonalizationStrategy:lw.getPersonalizationStrategy,setPersonalizationStrategy:lw.setPersonalizationStrategy}}))}}))}mT.version=sw.version;pT.exports=mT});var _T=Me((OV,fw)=>{var gT=vT();fw.exports=gT;fw.exports.default=gT});var rf=Me(dw=>{"use strict";Object.defineProperty(dw,"__esModule",{value:!0});dw.default=kT;function kT(){}kT.prototype={diff:function(u,f){var c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},g=c.callback;typeof c=="function"&&(g=c,c={}),this.options=c;var t=this;function C(re){return g?(setTimeout(function(){g(void 0,re)},0),!0):re}u=this.castInput(u),f=this.castInput(f),u=this.removeEmpty(this.tokenize(u)),f=this.removeEmpty(this.tokenize(f));var A=f.length,x=u.length,D=1,L=A+x,N=[{newPos:-1,components:[]}],j=this.extractCommon(N[0],f,u,0);if(N[0].newPos+1>=A&&j+1>=x)return C([{value:this.join(f),count:f.length}]);function $(){for(var re=-1*D;re<=D;re+=2){var ce=void 0,Q=N[re-1],oe=N[re+1],Se=(oe?oe.newPos:0)-re;Q&&(N[re-1]=void 0);var me=Q&&Q.newPos+1=A&&Se+1>=x)return C(LW(t,ce.components,f,u,t.useLongestToken));N[re]=ce}D++}if(g)(function re(){setTimeout(function(){if(D>L)return g();$()||re()},0)})();else for(;D<=L;){var h=$();if(h)return h}},pushComponent:function(u,f,c){var g=u[u.length-1];g&&g.added===f&&g.removed===c?u[u.length-1]={count:g.count+1,added:f,removed:c}:u.push({count:1,added:f,removed:c})},extractCommon:function(u,f,c,g){for(var t=f.length,C=c.length,A=u.newPos,x=A-g,D=0;A+1$.length?re:$}),D.value=i.join(L)}else D.value=i.join(f.slice(A,A+D.count));A+=D.count,D.added||(x+=D.count)}}var j=u[C-1];return C>1&&typeof j.value=="string"&&(j.added||j.removed)&&i.equals("",j.value)&&(u[C-2].value+=j.value,u.pop()),u}function RW(i){return{newPos:i.newPos,components:i.components.slice(0)}}});var OT=Me(ld=>{"use strict";Object.defineProperty(ld,"__esModule",{value:!0});ld.diffChars=NW;ld.characterDiff=void 0;var jW=BW(rf());function BW(i){return i&&i.__esModule?i:{default:i}}var AT=new jW.default;ld.characterDiff=AT;function NW(i,u,f){return AT.diff(i,u,f)}});var hw=Me(pw=>{"use strict";Object.defineProperty(pw,"__esModule",{value:!0});pw.generateOptions=UW;function UW(i,u){if(typeof i=="function")u.callback=i;else if(i)for(var f in i)i.hasOwnProperty(f)&&(u[f]=i[f]);return u}});var MT=Me(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.diffWords=qW;Fa.diffWordsWithSpace=zW;Fa.wordDiff=void 0;var HW=WW(rf()),bW=hw();function WW(i){return i&&i.__esModule?i:{default:i}}var IT=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,PT=/\S/,fd=new HW.default;Fa.wordDiff=fd;fd.equals=function(i,u){return this.options.ignoreCase&&(i=i.toLowerCase(),u=u.toLowerCase()),i===u||this.options.ignoreWhitespace&&!PT.test(i)&&!PT.test(u)};fd.tokenize=function(i){for(var u=i.split(/(\s+|[()[\]{}'"]|\b)/),f=0;f{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.diffLines=GW;La.diffTrimmedLines=VW;La.lineDiff=void 0;var $W=YW(rf()),KW=hw();function YW(i){return i&&i.__esModule?i:{default:i}}var Dm=new $W.default;La.lineDiff=Dm;Dm.tokenize=function(i){var u=[],f=i.split(/(\n|\r\n)/);f[f.length-1]||f.pop();for(var c=0;c{"use strict";Object.defineProperty(cd,"__esModule",{value:!0});cd.diffSentences=XW;cd.sentenceDiff=void 0;var QW=JW(rf());function JW(i){return i&&i.__esModule?i:{default:i}}var mw=new QW.default;cd.sentenceDiff=mw;mw.tokenize=function(i){return i.split(/(\S.+?[.!?])(?=\s+|$)/)};function XW(i,u,f){return mw.diff(i,u,f)}});var LT=Me(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});ad.diffCss=ZW;ad.cssDiff=void 0;var tH=eH(rf());function eH(i){return i&&i.__esModule?i:{default:i}}var vw=new tH.default;ad.cssDiff=vw;vw.tokenize=function(i){return i.split(/([{}:;,]|\s+)/)};function ZW(i,u,f){return vw.diff(i,u,f)}});var NT=Me(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.diffJson=nH;Ra.canonicalize=Sm;Ra.jsonDiff=void 0;var RT=rH(rf()),iH=Em();function rH(i){return i&&i.__esModule?i:{default:i}}function Cm(i){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Cm=function(f){return typeof f}:Cm=function(f){return f&&typeof Symbol=="function"&&f.constructor===Symbol&&f!==Symbol.prototype?"symbol":typeof f},Cm(i)}var oH=Object.prototype.toString,xc=new RT.default;Ra.jsonDiff=xc;xc.useLongestToken=!0;xc.tokenize=iH.lineDiff.tokenize;xc.castInput=function(i){var u=this.options,f=u.undefinedReplacement,c=u.stringifyReplacer,g=c===void 0?function(t,C){return typeof C=="undefined"?f:C}:c;return typeof i=="string"?i:JSON.stringify(Sm(i,null,null,g),g," ")};xc.equals=function(i,u){return RT.default.prototype.equals.call(xc,i.replace(/,([\r\n])/g,"$1"),u.replace(/,([\r\n])/g,"$1"))};function nH(i,u,f){return xc.diff(i,u,f)}function Sm(i,u,f,c,g){u=u||[],f=f||[],c&&(i=c(g,i));var t;for(t=0;t{"use strict";Object.defineProperty(dd,"__esModule",{value:!0});dd.diffArrays=uH;dd.arrayDiff=void 0;var lH=sH(rf());function sH(i){return i&&i.__esModule?i:{default:i}}var pd=new lH.default;dd.arrayDiff=pd;pd.tokenize=function(i){return i.slice()};pd.join=pd.removeEmpty=function(i){return i};function uH(i,u,f){return pd.diff(i,u,f)}});var Tm=Me(gw=>{"use strict";Object.defineProperty(gw,"__esModule",{value:!0});gw.parsePatch=fH;function fH(i){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},f=i.split(/\r\n|[\n\v\f\r\x85]/),c=i.match(/\r\n|[\n\v\f\r\x85]/g)||[],g=[],t=0;function C(){var D={};for(g.push(D);t{"use strict";Object.defineProperty(_w,"__esModule",{value:!0});_w.default=cH;function cH(i,u,f){var c=!0,g=!1,t=!1,C=1;return function A(){if(c&&!t){if(g?C++:c=!1,i+C<=f)return C;t=!0}if(!g)return t||(c=!0),u<=i-C?-C++:(g=!0,A())}}});var zT=Me(xm=>{"use strict";Object.defineProperty(xm,"__esModule",{value:!0});xm.applyPatch=UT;xm.applyPatches=aH;var qT=Tm(),pH=dH(jT());function dH(i){return i&&i.__esModule?i:{default:i}}function UT(i,u){var f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof u=="string"&&(u=(0,qT.parsePatch)(u)),Array.isArray(u)){if(u.length>1)throw new Error("applyPatch only works with a single input.");u=u[0]}var c=i.split(/\r\n|[\n\v\f\r\x85]/),g=i.match(/\r\n|[\n\v\f\r\x85]/g)||[],t=u.hunks,C=f.compareLine||function(Ot,Nt,Je,V){return Nt===V},A=0,x=f.fuzzFactor||0,D=0,L=0,N,j;function $(Ot,Nt){for(var Je=0;Je0?V[0]:" ",ge=V.length>0?V.substr(1):V;if(ne===" "||ne==="-"){if(!C(Nt+1,c[Nt],ne,ge)&&(A++,A>x))return!1;Nt++}}return!0}for(var h=0;h0?Le[0]:" ",ct=Le.length>0?Le.substr(1):Le,Ue=J.linedelimiters[Oe];if(ot===" ")Te++;else if(ot==="-")c.splice(Te,1),g.splice(Te,1);else if(ot==="+")c.splice(Te,0,ct),g.splice(Te,0,Ue),Te++;else if(ot==="\\"){var be=J.lines[Oe-1]?J.lines[Oe-1][0]:null;be==="+"?N=!0:be==="-"&&(j=!0)}}}if(N)for(;!c[c.length-1];)c.pop(),g.pop();else j&&(c.push(""),g.push(` -`));for(var At=0;At{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});hd.structuredPatch=WT;hd.createTwoFilesPatch=HT;hd.createPatch=hH;var mH=Em();function yw(i){return _H(i)||gH(i)||vH()}function vH(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function gH(i){if(Symbol.iterator in Object(i)||Object.prototype.toString.call(i)==="[object Arguments]")return Array.from(i)}function _H(i){if(Array.isArray(i)){for(var u=0,f=new Array(i.length);u0?x(J.lines.slice(-C.context)):[],L-=j.length,N-=j.length)}(De=j).push.apply(De,yw(me.map(function(At){return(Se.added?"+":"-")+At}))),Se.added?h+=me.length:$+=me.length}else{if(L)if(me.length<=C.context*2&&oe=A.length-2&&me.length<=C.context){var ct=/\n$/.test(f),Ue=/\n$/.test(c),be=me.length==0&&j.length>ot.oldLines;!ct&&be&&j.splice(ot.oldLines,0,"\\ No newline at end of file"),(!ct&&!be||!Ue)&&j.push("\\ No newline at end of file")}D.push(ot),L=0,N=0,j=[]}$+=me.length,h+=me.length}},ce=0;ce{"use strict";Object.defineProperty(km,"__esModule",{value:!0});km.arrayEqual=yH;km.arrayStartsWith=bT;function yH(i,u){return i.length!==u.length?!1:bT(i,u)}function bT(i,u){if(u.length>i.length)return!1;for(var f=0;f{"use strict";Object.defineProperty(Am,"__esModule",{value:!0});Am.calcLineCount=VT;Am.merge=wH;var DH=ww(),EH=Tm(),Dw=GT();function Na(i){return TH(i)||CH(i)||SH()}function SH(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function CH(i){if(Symbol.iterator in Object(i)||Object.prototype.toString.call(i)==="[object Arguments]")return Array.from(i)}function TH(i){if(Array.isArray(i)){for(var u=0,f=new Array(i.length);u{"use strict";Object.defineProperty(Cw,"__esModule",{value:!0});Cw.convertChangesToDMP=OH;function OH(i){for(var u=[],f,c,g=0;g{"use strict";Object.defineProperty(Tw,"__esModule",{value:!0});Tw.convertChangesToXML=IH;function IH(i){for(var u=[],f=0;f"):c.removed&&u.push(""),u.push(PH(c.value)),c.added?u.push(""):c.removed&&u.push("")}return u.join("")}function PH(i){var u=i;return u=u.replace(/&/g,"&"),u=u.replace(//g,">"),u=u.replace(/"/g,"""),u}});var f9=Me(w0=>{"use strict";Object.defineProperty(w0,"__esModule",{value:!0});Object.defineProperty(w0,"Diff",{enumerable:!0,get:function(){return MH.default}});Object.defineProperty(w0,"diffChars",{enumerable:!0,get:function(){return FH.diffChars}});Object.defineProperty(w0,"diffWords",{enumerable:!0,get:function(){return o9.diffWords}});Object.defineProperty(w0,"diffWordsWithSpace",{enumerable:!0,get:function(){return o9.diffWordsWithSpace}});Object.defineProperty(w0,"diffLines",{enumerable:!0,get:function(){return u9.diffLines}});Object.defineProperty(w0,"diffTrimmedLines",{enumerable:!0,get:function(){return u9.diffTrimmedLines}});Object.defineProperty(w0,"diffSentences",{enumerable:!0,get:function(){return LH.diffSentences}});Object.defineProperty(w0,"diffCss",{enumerable:!0,get:function(){return RH.diffCss}});Object.defineProperty(w0,"diffJson",{enumerable:!0,get:function(){return s9.diffJson}});Object.defineProperty(w0,"canonicalize",{enumerable:!0,get:function(){return s9.canonicalize}});Object.defineProperty(w0,"diffArrays",{enumerable:!0,get:function(){return NH.diffArrays}});Object.defineProperty(w0,"applyPatch",{enumerable:!0,get:function(){return l9.applyPatch}});Object.defineProperty(w0,"applyPatches",{enumerable:!0,get:function(){return l9.applyPatches}});Object.defineProperty(w0,"parsePatch",{enumerable:!0,get:function(){return BH.parsePatch}});Object.defineProperty(w0,"merge",{enumerable:!0,get:function(){return jH.merge}});Object.defineProperty(w0,"structuredPatch",{enumerable:!0,get:function(){return xw.structuredPatch}});Object.defineProperty(w0,"createTwoFilesPatch",{enumerable:!0,get:function(){return xw.createTwoFilesPatch}});Object.defineProperty(w0,"createPatch",{enumerable:!0,get:function(){return xw.createPatch}});Object.defineProperty(w0,"convertChangesToDMP",{enumerable:!0,get:function(){return UH.convertChangesToDMP}});Object.defineProperty(w0,"convertChangesToXML",{enumerable:!0,get:function(){return qH.convertChangesToXML}});var MH=zH(rf()),FH=OT(),o9=MT(),u9=Em(),LH=FT(),RH=LT(),s9=NT(),NH=BT(),l9=zT(),BH=Tm(),jH=n9(),xw=ww(),UH=r9(),qH=i9();function zH(i){return i&&i.__esModule?i:{default:i}}});var HH={};jR(HH,{default:()=>GH});var wT=Er(require("@yarnpkg/cli")),Tc=Er(require("@yarnpkg/core"));var Z5=Er(ys()),Dc=Er(lr()),om=(0,Dc.memo)(({active:i})=>{let u=(0,Dc.useMemo)(()=>i?"\u25C9":"\u25EF",[i]),f=(0,Dc.useMemo)(()=>i?"green":"yellow",[i]);return Dc.default.createElement(Z5.Text,{color:f},u)});var Wf=Er(ys()),Bo=Er(lr());var eC=Er(ys()),um=Er(lr());function zf({active:i},u,f){let{stdin:c}=(0,eC.useStdin)(),g=(0,um.useCallback)((t,C)=>u(t,C),f);(0,um.useEffect)(()=>{if(!(!i||!c))return c.on("keypress",g),()=>{c.off("keypress",g)}},[i,g,c])}var sm;(function(f){f.BEFORE="before",f.AFTER="after"})(sm||(sm={}));var tC=function({active:i},u,f){zf({active:i},(c,g)=>{g.name==="tab"&&(g.shift?u(sm.BEFORE):u(sm.AFTER))},f)};var lm=function(i,u,{active:f,minus:c,plus:g,set:t,loop:C=!0}){zf({active:f},(A,x)=>{let D=u.indexOf(i);switch(x.name){case c:{let L=D-1;if(C){t(u[(u.length+L)%u.length]);return}if(L<0)return;t(u[L])}break;case g:{let L=D+1;if(C){t(u[L%u.length]);return}if(L>=u.length)return;t(u[L])}break}},[u,i,g,t,C])};var fm=({active:i=!0,children:u=[],radius:f=10,size:c=1,loop:g=!0,onFocusRequest:t,willReachEnd:C})=>{let A=ce=>{if(ce.key===null)throw new Error("Expected all children to have a key");return ce.key},x=Bo.default.Children.map(u,ce=>A(ce)),D=x[0],[L,N]=(0,Bo.useState)(D),j=x.indexOf(L);(0,Bo.useEffect)(()=>{x.includes(L)||N(D)},[u]),(0,Bo.useEffect)(()=>{C&&j>=x.length-2&&C()},[j]),tC({active:i&&!!t},ce=>{t==null||t(ce)},[t]),lm(L,x,{active:i,minus:"up",plus:"down",set:N,loop:g});let $=j-f,h=j+f;h>x.length&&($-=h-x.length,h=x.length),$<0&&(h+=-$,$=0),h>=x.length&&(h=x.length-1);let re=[];for(let ce=$;ce<=h;++ce){let Q=x[ce],oe=i&&Q===L;re.push(Bo.default.createElement(Wf.Box,{key:Q,height:c},Bo.default.createElement(Wf.Box,{marginLeft:1,marginRight:1},Bo.default.createElement(Wf.Text,null,oe?Bo.default.createElement(Wf.Text,{color:"cyan",bold:!0},">"):" ")),Bo.default.createElement(Wf.Box,null,Bo.default.cloneElement(u[ce],{active:oe}))))}return Bo.default.createElement(Wf.Box,{flexDirection:"column",width:"100%"},re)};var cm=Er(lr());var nC=Er(ys()),nf=Er(lr()),rC=Er(require("readline")),G3=nf.default.createContext(null),iC=({children:i})=>{let{stdin:u,setRawMode:f}=(0,nC.useStdin)();(0,nf.useEffect)(()=>{f&&f(!0),u&&(0,rC.emitKeypressEvents)(u)},[u,f]);let[c,g]=(0,nf.useState)(new Map),t=(0,nf.useMemo)(()=>({getAll:()=>c,get:C=>c.get(C),set:(C,A)=>g(new Map([...c,[C,A]]))}),[c,g]);return nf.default.createElement(G3.Provider,{value:t,children:i})};function Ec(i,u){let f=(0,cm.useContext)(G3);if(f===null)throw new Error("Expected this hook to run with a ministore context attached");if(typeof i=="undefined")return f.getAll();let c=(0,cm.useCallback)(t=>{f.set(i,t)},[i,f.set]),g=f.get(i);return typeof g=="undefined"&&(g=u),[g,c]}var am=Er(ys()),V3=Er(lr());async function dm(i,u){let f,c=t=>{let{exit:C}=(0,am.useApp)();zf({active:!0},(A,x)=>{x.name==="return"&&(f=t,C())},[C,t])},{waitUntilExit:g}=(0,am.render)(V3.default.createElement(iC,null,V3.default.createElement(i,zn(dt({},u),{useSubmit:c}))));return await g(),f}var DT=Er(require("clipanion")),ET=Er(lC()),un=Er(ys()),Pt=Er(lr());var yT=Er(_T()),cw={appId:"OFCNCOG2CU",apiKey:"6fe4476ee5a1832882e326b506d14126",indexName:"npm-search"},FW=(0,yT.default)(cw.appId,cw.apiKey).initIndex(cw.indexName),aw=async(i,u=0)=>await FW.search(i,{analyticsTags:["yarn-plugin-interactive-tools"],attributesToRetrieve:["name","version","owner","repository","humanDownloadsLast30Days"],page:u,hitsPerPage:10});var od=["regular","dev","peer"],ud=class extends wT.BaseCommand{async execute(){let u=await Tc.Configuration.find(this.context.cwd,this.context.plugins),f=()=>Pt.default.createElement(un.Box,{flexDirection:"row"},Pt.default.createElement(un.Box,{flexDirection:"column",width:48},Pt.default.createElement(un.Box,null,Pt.default.createElement(un.Text,null,"Press ",Pt.default.createElement(un.Text,{bold:!0,color:"cyanBright"},""),"/",Pt.default.createElement(un.Text,{bold:!0,color:"cyanBright"},"")," to move between packages.")),Pt.default.createElement(un.Box,null,Pt.default.createElement(un.Text,null,"Press ",Pt.default.createElement(un.Text,{bold:!0,color:"cyanBright"},"")," to select a package.")),Pt.default.createElement(un.Box,null,Pt.default.createElement(un.Text,null,"Press ",Pt.default.createElement(un.Text,{bold:!0,color:"cyanBright"},"")," again to change the target."))),Pt.default.createElement(un.Box,{flexDirection:"column"},Pt.default.createElement(un.Box,{marginLeft:1},Pt.default.createElement(un.Text,null,"Press ",Pt.default.createElement(un.Text,{bold:!0,color:"cyanBright"},"")," to install the selected packages.")),Pt.default.createElement(un.Box,{marginLeft:1},Pt.default.createElement(un.Text,null,"Press ",Pt.default.createElement(un.Text,{bold:!0,color:"cyanBright"},"")," to abort.")))),c=()=>Pt.default.createElement(Pt.default.Fragment,null,Pt.default.createElement(un.Box,{width:15},Pt.default.createElement(un.Text,{bold:!0,underline:!0,color:"gray"},"Owner")),Pt.default.createElement(un.Box,{width:11},Pt.default.createElement(un.Text,{bold:!0,underline:!0,color:"gray"},"Version")),Pt.default.createElement(un.Box,{width:10},Pt.default.createElement(un.Text,{bold:!0,underline:!0,color:"gray"},"Downloads"))),g=()=>Pt.default.createElement(un.Box,{width:17},Pt.default.createElement(un.Text,{bold:!0,underline:!0,color:"gray"},"Target")),t=({hit:$,active:h})=>{let[re,ce]=Ec($.name,null);zf({active:h},(Se,me)=>{if(me.name!=="space")return;if(!re){ce(od[0]);return}let De=od.indexOf(re)+1;De===od.length?ce(null):ce(od[De])},[re,ce]);let Q=Tc.structUtils.parseIdent($.name),oe=Tc.structUtils.prettyIdent(u,Q);return Pt.default.createElement(un.Box,null,Pt.default.createElement(un.Box,{width:45},Pt.default.createElement(un.Text,{bold:!0,wrap:"wrap"},oe)),Pt.default.createElement(un.Box,{width:14,marginLeft:1},Pt.default.createElement(un.Text,{bold:!0,wrap:"truncate"},$.owner.name)),Pt.default.createElement(un.Box,{width:10,marginLeft:1},Pt.default.createElement(un.Text,{italic:!0,wrap:"truncate"},$.version)),Pt.default.createElement(un.Box,{width:16,marginLeft:1},Pt.default.createElement(un.Text,null,$.humanDownloadsLast30Days)))},C=({name:$,active:h})=>{let[re]=Ec($,null),ce=Tc.structUtils.parseIdent($);return Pt.default.createElement(un.Box,null,Pt.default.createElement(un.Box,{width:47},Pt.default.createElement(un.Text,{bold:!0}," - ",Tc.structUtils.prettyIdent(u,ce))),od.map(Q=>Pt.default.createElement(un.Box,{key:Q,width:14,marginLeft:1},Pt.default.createElement(un.Text,null," ",Pt.default.createElement(om,{active:re===Q})," ",Pt.default.createElement(un.Text,{bold:!0},Q)))))},A=()=>Pt.default.createElement(un.Box,{marginTop:1},Pt.default.createElement(un.Text,null,"Powered by Algolia.")),D=await dm(({useSubmit:$})=>{let h=Ec();$(h);let re=Array.from(h.keys()).filter(Le=>h.get(Le)!==null),[ce,Q]=(0,Pt.useState)(""),[oe,Se]=(0,Pt.useState)(0),[me,De]=(0,Pt.useState)([]),J=Le=>{Le.match(/\t| /)||Q(Le)},Te=async()=>{Se(0);let Le=await aw(ce);Le.query===ce&&De(Le.hits)},Oe=async()=>{let Le=await aw(ce,oe+1);Le.query===ce&&Le.page-1===oe&&(Se(Le.page),De([...me,...Le.hits]))};return(0,Pt.useEffect)(()=>{ce?Te():De([])},[ce]),Pt.default.createElement(un.Box,{flexDirection:"column"},Pt.default.createElement(f,null),Pt.default.createElement(un.Box,{flexDirection:"row",marginTop:1},Pt.default.createElement(un.Text,{bold:!0},"Search: "),Pt.default.createElement(un.Box,{width:41},Pt.default.createElement(ET.default,{value:ce,onChange:J,placeholder:"i.e. babel, webpack, react...",showCursor:!1})),Pt.default.createElement(c,null)),me.length?Pt.default.createElement(fm,{radius:2,loop:!1,children:me.map(Le=>Pt.default.createElement(t,{key:Le.name,hit:Le,active:!1})),willReachEnd:Oe}):Pt.default.createElement(un.Text,{color:"gray"},"Start typing..."),Pt.default.createElement(un.Box,{flexDirection:"row",marginTop:1},Pt.default.createElement(un.Box,{width:49},Pt.default.createElement(un.Text,{bold:!0},"Selected:")),Pt.default.createElement(g,null)),re.length?re.map(Le=>Pt.default.createElement(C,{key:Le,name:Le,active:!1})):Pt.default.createElement(un.Text,{color:"gray"},"No selected packages..."),Pt.default.createElement(A,null))},{});if(typeof D=="undefined")return 1;let L=Array.from(D.keys()).filter($=>D.get($)==="regular"),N=Array.from(D.keys()).filter($=>D.get($)==="dev"),j=Array.from(D.keys()).filter($=>D.get($)==="peer");return L.length&&await this.cli.run(["add",...L]),N.length&&await this.cli.run(["add","--dev",...N]),j&&await this.cli.run(["add","--peer",...j]),0}};ud.paths=[["search"]],ud.usage=DT.Command.Usage({category:"Interactive commands",description:"open the search interface",details:` - This command opens a fullscreen terminal interface where you can search for and install packages from the npm registry. - `,examples:[["Open the search window","yarn search"]]});var ST=ud;var Im=Er(require("@yarnpkg/cli")),W0=Er(require("@yarnpkg/core"));var sd=Er(ys()),bf=Er(lr());var CT=Er(ys()),TT=Er(lr()),wm=({length:i,active:u})=>{if(i===0)return null;let f=i>1?` ${"-".repeat(i-1)}`:" ";return TT.default.createElement(CT.Text,{dimColor:!u},f)};var xT=function({active:i,skewer:u,options:f,value:c,onChange:g,sizes:t=[]}){let C=f.filter(({label:x})=>!!x).map(({value:x})=>x),A=f.findIndex(x=>x.value===c&&x.label!="");return lm(c,C,{active:i,minus:"left",plus:"right",set:g}),bf.default.createElement(bf.default.Fragment,null,f.map(({label:x},D)=>{let L=D===A,N=t[D]-1||0,j=x.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,""),$=Math.max(0,N-j.length-2);return x?bf.default.createElement(sd.Box,{key:x,width:N,marginLeft:1},bf.default.createElement(sd.Text,{wrap:"truncate"},bf.default.createElement(om,{active:L})," ",x),u?bf.default.createElement(wm,{active:i,length:$}):null):bf.default.createElement(sd.Box,{key:`spacer-${D}`,width:N,marginLeft:1})}))};var c9=Er(require("@yarnpkg/plugin-essentials")),a9=Er(require("clipanion")),d9=Er(f9()),tr=Er(ys()),pn=Er(lr()),p9=Er(require("semver")),h9=/^((?:[\^~]|>=?)?)([0-9]+)(\.[0-9]+)(\.[0-9]+)((?:-\S+)?)$/,WH=10,md=class extends Im.BaseCommand{async execute(){let u=await W0.Configuration.find(this.context.cwd,this.context.plugins),{project:f,workspace:c}=await W0.Project.find(u,this.context.cwd),g=await W0.Cache.find(u);if(!c)throw new Im.WorkspaceRequiredError(f.cwd,this.context.cwd);await f.restoreInstallState({restoreResolutions:!1});let t=(Q,oe)=>{let Se=(0,d9.diffWords)(Q,oe),me="";for(let De of Se)De.added?me+=W0.formatUtils.pretty(u,De.value,"green"):De.removed||(me+=De.value);return me},C=(Q,oe)=>{if(Q===oe)return oe;let Se=W0.structUtils.parseRange(Q),me=W0.structUtils.parseRange(oe),De=Se.selector.match(h9),J=me.selector.match(h9);if(!De||!J)return t(Q,oe);let Te=["gray","red","yellow","green","magenta"],Oe=null,Le="";for(let ot=1;ot{let me=await c9.suggestUtils.fetchDescriptorFrom(Q,Se,{project:f,cache:g,preserveModifier:oe,workspace:c});return me!==null?me.range:Q.range},x=async Q=>{let oe=p9.default.valid(Q.range)?`^${Q.range}`:Q.range,[Se,me]=await Promise.all([A(Q,Q.range,oe).catch(()=>null),A(Q,Q.range,"latest").catch(()=>null)]),De=[{value:null,label:Q.range}];return Se&&Se!==Q.range?De.push({value:Se,label:C(Q.range,Se)}):De.push({value:null,label:""}),me&&me!==Se&&me!==Q.range?De.push({value:me,label:C(Q.range,me)}):De.push({value:null,label:""}),De},D=()=>pn.default.createElement(tr.Box,{flexDirection:"row"},pn.default.createElement(tr.Box,{flexDirection:"column",width:49},pn.default.createElement(tr.Box,{marginLeft:1},pn.default.createElement(tr.Text,null,"Press ",pn.default.createElement(tr.Text,{bold:!0,color:"cyanBright"},""),"/",pn.default.createElement(tr.Text,{bold:!0,color:"cyanBright"},"")," to select packages.")),pn.default.createElement(tr.Box,{marginLeft:1},pn.default.createElement(tr.Text,null,"Press ",pn.default.createElement(tr.Text,{bold:!0,color:"cyanBright"},""),"/",pn.default.createElement(tr.Text,{bold:!0,color:"cyanBright"},"")," to select versions."))),pn.default.createElement(tr.Box,{flexDirection:"column"},pn.default.createElement(tr.Box,{marginLeft:1},pn.default.createElement(tr.Text,null,"Press ",pn.default.createElement(tr.Text,{bold:!0,color:"cyanBright"},"")," to install.")),pn.default.createElement(tr.Box,{marginLeft:1},pn.default.createElement(tr.Text,null,"Press ",pn.default.createElement(tr.Text,{bold:!0,color:"cyanBright"},"")," to abort.")))),L=()=>pn.default.createElement(tr.Box,{flexDirection:"row",paddingTop:1,paddingBottom:1},pn.default.createElement(tr.Box,{width:50},pn.default.createElement(tr.Text,{bold:!0},pn.default.createElement(tr.Text,{color:"greenBright"},"?")," Pick the packages you want to upgrade.")),pn.default.createElement(tr.Box,{width:17},pn.default.createElement(tr.Text,{bold:!0,underline:!0,color:"gray"},"Current")),pn.default.createElement(tr.Box,{width:17},pn.default.createElement(tr.Text,{bold:!0,underline:!0,color:"gray"},"Range")),pn.default.createElement(tr.Box,{width:17},pn.default.createElement(tr.Text,{bold:!0,underline:!0,color:"gray"},"Latest"))),N=({active:Q,descriptor:oe,suggestions:Se})=>{let[me,De]=Ec(oe.descriptorHash,null),J=W0.structUtils.stringifyIdent(oe),Te=Math.max(0,45-J.length);return pn.default.createElement(pn.default.Fragment,null,pn.default.createElement(tr.Box,null,pn.default.createElement(tr.Box,{width:45},pn.default.createElement(tr.Text,{bold:!0},W0.structUtils.prettyIdent(u,oe)),pn.default.createElement(wm,{active:Q,length:Te})),Se!==null?pn.default.createElement(xT,{active:Q,options:Se,value:me,skewer:!0,onChange:De,sizes:[17,17,17]}):pn.default.createElement(tr.Box,{marginLeft:2},pn.default.createElement(tr.Text,{color:"gray"},"Fetching suggestions..."))))},j=({dependencies:Q})=>{let[oe,Se]=(0,pn.useState)(null),me=(0,pn.useRef)(!0);return(0,pn.useEffect)(()=>()=>{me.current=!1}),(0,pn.useEffect)(()=>{Promise.all(Q.map(De=>x(De))).then(De=>{let J=Q.map((Te,Oe)=>{let Le=De[Oe];return[Te,Le]}).filter(([Te,Oe])=>Oe.filter(Le=>Le.label!=="").length>1);me.current&&Se(J)})},[]),oe?oe.length?pn.default.createElement(fm,{radius:WH,children:oe.map(([De,J])=>pn.default.createElement(N,{key:De.descriptorHash,active:!1,descriptor:De,suggestions:J}))}):pn.default.createElement(tr.Text,null,"No upgrades found"):pn.default.createElement(tr.Text,null,"Fetching suggestions...")},h=await dm(({useSubmit:Q})=>{Q(Ec());let oe=new Map;for(let me of f.workspaces)for(let De of["dependencies","devDependencies"])for(let J of me.manifest[De].values())f.tryWorkspaceByDescriptor(J)===null&&oe.set(J.descriptorHash,J);let Se=W0.miscUtils.sortMap(oe.values(),me=>W0.structUtils.stringifyDescriptor(me));return pn.default.createElement(tr.Box,{flexDirection:"column"},pn.default.createElement(D,null),pn.default.createElement(L,null),pn.default.createElement(j,{dependencies:Se}))},{});if(typeof h=="undefined")return 1;let re=!1;for(let Q of f.workspaces)for(let oe of["dependencies","devDependencies"]){let Se=Q.manifest[oe];for(let me of Se.values()){let De=h.get(me.descriptorHash);typeof De!="undefined"&&De!==null&&(Se.set(me.identHash,W0.structUtils.makeDescriptor(me,De)),re=!0)}}return re?(await W0.StreamReport.start({configuration:u,stdout:this.context.stdout,includeLogs:!this.context.quiet},async Q=>{await f.install({cache:g,report:Q})})).exitCode():0}};md.paths=[["upgrade-interactive"]],md.usage=a9.Command.Usage({category:"Interactive commands",description:"open the upgrade interface",details:` - This command opens a fullscreen terminal interface where you can see any out of date packages used by your application, their status compared to the latest versions available on the remote registry, and select packages to upgrade. - `,examples:[["Open the upgrade window","yarn upgrade-interactive"]]});var m9=md;var bH={commands:[ST,m9]},GH=bH;return HH;})(); -/* -object-assign -(c) Sindre Sorhus -@license MIT -*/ -/** - * @license - * Lodash - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */ -/** @license React v0.0.0-experimental-51a3aa6af - * react-debug-tools.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v0.0.0-experimental-51a3aa6af - * react-is.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v0.0.0-experimental-51a3aa6af - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v0.18.0 - * scheduler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v0.24.0 - * react-reconciler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v16.13.1 - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -return plugin; -} -}; diff --git a/tgui/.yarn/releases/yarn-3.3.1.cjs b/tgui/.yarn/releases/yarn-3.3.1.cjs deleted file mode 100644 index 53a282e439a..00000000000 --- a/tgui/.yarn/releases/yarn-3.3.1.cjs +++ /dev/null @@ -1,823 +0,0 @@ -#!/usr/bin/env node -/* eslint-disable */ -//prettier-ignore -(()=>{var dfe=Object.create;var jS=Object.defineProperty;var Cfe=Object.getOwnPropertyDescriptor;var mfe=Object.getOwnPropertyNames;var Efe=Object.getPrototypeOf,Ife=Object.prototype.hasOwnProperty;var J=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+r+'" is not supported')});var y=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),ht=(r,e)=>{for(var t in e)jS(r,t,{get:e[t],enumerable:!0})},yfe=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of mfe(e))!Ife.call(r,n)&&n!==t&&jS(r,n,{get:()=>e[n],enumerable:!(i=Cfe(e,n))||i.enumerable});return r};var ne=(r,e,t)=>(t=r!=null?dfe(Efe(r)):{},yfe(e||!r||!r.__esModule?jS(t,"default",{value:r,enumerable:!0}):t,r));var aK=y((uZe,oK)=>{oK.exports=sK;sK.sync=Gfe;var iK=J("fs");function Hfe(r,e){var t=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!t||(t=t.split(";"),t.indexOf("")!==-1))return!0;for(var i=0;i{uK.exports=lK;lK.sync=Yfe;var AK=J("fs");function lK(r,e,t){AK.stat(r,function(i,n){t(i,i?!1:cK(n,e))})}function Yfe(r,e){return cK(AK.statSync(r),e)}function cK(r,e){return r.isFile()&&jfe(r,e)}function jfe(r,e){var t=r.mode,i=r.uid,n=r.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=t&c||t&l&&n===o||t&a&&i===s||t&u&&s===0;return g}});var hK=y((hZe,fK)=>{var fZe=J("fs"),OI;process.platform==="win32"||global.TESTING_WINDOWS?OI=aK():OI=gK();fK.exports=av;av.sync=qfe;function av(r,e,t){if(typeof e=="function"&&(t=e,e={}),!t){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){av(r,e||{},function(s,o){s?n(s):i(o)})})}OI(r,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),t(i,n)})}function qfe(r,e){try{return OI.sync(r,e||{})}catch(t){if(e&&e.ignoreErrors||t.code==="EACCES")return!1;throw t}}});var yK=y((pZe,IK)=>{var _g=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",pK=J("path"),Jfe=_g?";":":",dK=hK(),CK=r=>Object.assign(new Error(`not found: ${r}`),{code:"ENOENT"}),mK=(r,e)=>{let t=e.colon||Jfe,i=r.match(/\//)||_g&&r.match(/\\/)?[""]:[..._g?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(t)],n=_g?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=_g?n.split(t):[""];return _g&&r.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},EK=(r,e,t)=>{typeof e=="function"&&(t=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=mK(r,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(CK(r));let f=i[c],h=/^".*"$/.test(f)?f.slice(1,-1):f,p=pK.join(h,r),C=!h&&/^\.[\\\/]/.test(r)?r.slice(0,2)+p:p;u(l(C,c,0))}),l=(c,u,g)=>new Promise((f,h)=>{if(g===n.length)return f(a(u+1));let p=n[g];dK(c+p,{pathExt:s},(C,w)=>{if(!C&&w)if(e.all)o.push(c+p);else return f(c+p);return f(l(c,u,g+1))})});return t?a(0).then(c=>t(null,c),t):a(0)},Wfe=(r,e)=>{e=e||{};let{pathEnv:t,pathExt:i,pathExtExe:n}=mK(r,e),s=[];for(let o=0;o{"use strict";var wK=(r={})=>{let e=r.env||process.env;return(r.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};Av.exports=wK;Av.exports.default=wK});var vK=y((CZe,SK)=>{"use strict";var bK=J("path"),zfe=yK(),Vfe=BK();function QK(r,e){let t=r.options.env||process.env,i=process.cwd(),n=r.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(r.options.cwd)}catch{}let o;try{o=zfe.sync(r.command,{path:t[Vfe({env:t})],pathExt:e?bK.delimiter:void 0})}catch{}finally{s&&process.chdir(i)}return o&&(o=bK.resolve(n?r.options.cwd:"",o)),o}function Xfe(r){return QK(r)||QK(r,!0)}SK.exports=Xfe});var xK=y((mZe,cv)=>{"use strict";var lv=/([()\][%!^"`<>&|;, *?])/g;function _fe(r){return r=r.replace(lv,"^$1"),r}function Zfe(r,e){return r=`${r}`,r=r.replace(/(\\*)"/g,'$1$1\\"'),r=r.replace(/(\\*)$/,"$1$1"),r=`"${r}"`,r=r.replace(lv,"^$1"),e&&(r=r.replace(lv,"^$1")),r}cv.exports.command=_fe;cv.exports.argument=Zfe});var DK=y((EZe,PK)=>{"use strict";PK.exports=/^#!(.*)/});var RK=y((IZe,kK)=>{"use strict";var $fe=DK();kK.exports=(r="")=>{let e=r.match($fe);if(!e)return null;let[t,i]=e[0].replace(/#! ?/,"").split(" "),n=t.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var NK=y((yZe,FK)=>{"use strict";var uv=J("fs"),ehe=RK();function the(r){let t=Buffer.alloc(150),i;try{i=uv.openSync(r,"r"),uv.readSync(i,t,0,150,0),uv.closeSync(i)}catch{}return ehe(t.toString())}FK.exports=the});var MK=y((wZe,OK)=>{"use strict";var rhe=J("path"),TK=vK(),LK=xK(),ihe=NK(),nhe=process.platform==="win32",she=/\.(?:com|exe)$/i,ohe=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function ahe(r){r.file=TK(r);let e=r.file&&ihe(r.file);return e?(r.args.unshift(r.file),r.command=e,TK(r)):r.file}function Ahe(r){if(!nhe)return r;let e=ahe(r),t=!she.test(e);if(r.options.forceShell||t){let i=ohe.test(e);r.command=rhe.normalize(r.command),r.command=LK.command(r.command),r.args=r.args.map(s=>LK.argument(s,i));let n=[r.command].concat(r.args).join(" ");r.args=["/d","/s","/c",`"${n}"`],r.command=process.env.comspec||"cmd.exe",r.options.windowsVerbatimArguments=!0}return r}function lhe(r,e,t){e&&!Array.isArray(e)&&(t=e,e=null),e=e?e.slice(0):[],t=Object.assign({},t);let i={command:r,args:e,options:t,file:void 0,original:{command:r,args:e}};return t.shell?i:Ahe(i)}OK.exports=lhe});var HK=y((BZe,KK)=>{"use strict";var gv=process.platform==="win32";function fv(r,e){return Object.assign(new Error(`${e} ${r.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${r.command}`,path:r.command,spawnargs:r.args})}function che(r,e){if(!gv)return;let t=r.emit;r.emit=function(i,n){if(i==="exit"){let s=UK(n,e,"spawn");if(s)return t.call(r,"error",s)}return t.apply(r,arguments)}}function UK(r,e){return gv&&r===1&&!e.file?fv(e.original,"spawn"):null}function uhe(r,e){return gv&&r===1&&!e.file?fv(e.original,"spawnSync"):null}KK.exports={hookChildProcess:che,verifyENOENT:UK,verifyENOENTSync:uhe,notFoundError:fv}});var dv=y((bZe,Zg)=>{"use strict";var GK=J("child_process"),hv=MK(),pv=HK();function YK(r,e,t){let i=hv(r,e,t),n=GK.spawn(i.command,i.args,i.options);return pv.hookChildProcess(n,i),n}function ghe(r,e,t){let i=hv(r,e,t),n=GK.spawnSync(i.command,i.args,i.options);return n.error=n.error||pv.verifyENOENTSync(n.status,i),n}Zg.exports=YK;Zg.exports.spawn=YK;Zg.exports.sync=ghe;Zg.exports._parse=hv;Zg.exports._enoent=pv});var qK=y((QZe,jK)=>{"use strict";function fhe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function uc(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,uc)}fhe(uc,Error);uc.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g>",re=de(">>",!1),me=">&",tt=de(">&",!1),Rt=">",It=de(">",!1),Ur="<<<",oi=de("<<<",!1),pi="<&",pr=de("<&",!1),di="<",ai=de("<",!1),Os=function(m){return{type:"argument",segments:[].concat(...m)}},dr=function(m){return m},Bi="$'",_n=de("$'",!1),pa="'",EA=de("'",!1),kg=function(m){return[{type:"text",text:m}]},Zn='""',IA=de('""',!1),da=function(){return{type:"text",text:""}},Jp='"',yA=de('"',!1),wA=function(m){return m},Br=function(m){return{type:"arithmetic",arithmetic:m,quoted:!0}},Vl=function(m){return{type:"shell",shell:m,quoted:!0}},Rg=function(m){return{type:"variable",...m,quoted:!0}},Eo=function(m){return{type:"text",text:m}},Fg=function(m){return{type:"arithmetic",arithmetic:m,quoted:!1}},Wp=function(m){return{type:"shell",shell:m,quoted:!1}},zp=function(m){return{type:"variable",...m,quoted:!1}},Pr=function(m){return{type:"glob",pattern:m}},oe=/^[^']/,Io=Ye(["'"],!0,!1),kn=function(m){return m.join("")},Ng=/^[^$"]/,bt=Ye(["$",'"'],!0,!1),Xl=`\\ -`,Rn=de(`\\ -`,!1),$n=function(){return""},es="\\",ut=de("\\",!1),yo=/^[\\$"`]/,at=Ye(["\\","$",'"',"`"],!1,!1),ln=function(m){return m},S="\\a",Lt=de("\\a",!1),Tg=function(){return"a"},_l="\\b",Vp=de("\\b",!1),Xp=function(){return"\b"},_p=/^[Ee]/,Zp=Ye(["E","e"],!1,!1),$p=function(){return"\x1B"},G="\\f",yt=de("\\f",!1),BA=function(){return"\f"},Wi="\\n",Zl=de("\\n",!1),We=function(){return` -`},Ca="\\r",Lg=de("\\r",!1),uI=function(){return"\r"},ed="\\t",gI=de("\\t",!1),ar=function(){return" "},Fn="\\v",$l=de("\\v",!1),td=function(){return"\v"},Ms=/^[\\'"?]/,ma=Ye(["\\","'",'"',"?"],!1,!1),cn=function(m){return String.fromCharCode(parseInt(m,16))},ke="\\x",Og=de("\\x",!1),ec="\\u",Us=de("\\u",!1),tc="\\U",bA=de("\\U",!1),Mg=function(m){return String.fromCodePoint(parseInt(m,16))},Ug=/^[0-7]/,Ea=Ye([["0","7"]],!1,!1),Ia=/^[0-9a-fA-f]/,$e=Ye([["0","9"],["a","f"],["A","f"]],!1,!1),wo=rt(),QA="-",rc=de("-",!1),Ks="+",ic=de("+",!1),fI=".",rd=de(".",!1),Kg=function(m,Q,F){return{type:"number",value:(m==="-"?-1:1)*parseFloat(Q.join("")+"."+F.join(""))}},id=function(m,Q){return{type:"number",value:(m==="-"?-1:1)*parseInt(Q.join(""))}},hI=function(m){return{type:"variable",...m}},nc=function(m){return{type:"variable",name:m}},pI=function(m){return m},Hg="*",SA=de("*",!1),Nr="/",dI=de("/",!1),Hs=function(m,Q,F){return{type:Q==="*"?"multiplication":"division",right:F}},Gs=function(m,Q){return Q.reduce((F,K)=>({left:F,...K}),m)},Gg=function(m,Q,F){return{type:Q==="+"?"addition":"subtraction",right:F}},vA="$((",R=de("$((",!1),q="))",pe=de("))",!1),Ne=function(m){return m},xe="$(",qe=de("$(",!1),dt=function(m){return m},Ft="${",Nn=de("${",!1),vS=":-",AU=de(":-",!1),lU=function(m,Q){return{name:m,defaultValue:Q}},xS=":-}",cU=de(":-}",!1),uU=function(m){return{name:m,defaultValue:[]}},PS=":+",gU=de(":+",!1),fU=function(m,Q){return{name:m,alternativeValue:Q}},DS=":+}",hU=de(":+}",!1),pU=function(m){return{name:m,alternativeValue:[]}},kS=function(m){return{name:m}},dU="$",CU=de("$",!1),mU=function(m){return e.isGlobPattern(m)},EU=function(m){return m},RS=/^[a-zA-Z0-9_]/,FS=Ye([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),NS=function(){return O()},TS=/^[$@*?#a-zA-Z0-9_\-]/,LS=Ye(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),IU=/^[(){}<>$|&; \t"']/,Yg=Ye(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),OS=/^[<>&; \t"']/,MS=Ye(["<",">","&",";"," "," ",'"',"'"],!1,!1),CI=/^[ \t]/,mI=Ye([" "," "],!1,!1),b=0,Fe=0,xA=[{line:1,column:1}],d=0,E=[],I=0,k;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function O(){return r.substring(Fe,b)}function X(){return Et(Fe,b)}function te(m,Q){throw Q=Q!==void 0?Q:Et(Fe,b),Fi([At(m)],r.substring(Fe,b),Q)}function ye(m,Q){throw Q=Q!==void 0?Q:Et(Fe,b),Tn(m,Q)}function de(m,Q){return{type:"literal",text:m,ignoreCase:Q}}function Ye(m,Q,F){return{type:"class",parts:m,inverted:Q,ignoreCase:F}}function rt(){return{type:"any"}}function wt(){return{type:"end"}}function At(m){return{type:"other",description:m}}function et(m){var Q=xA[m],F;if(Q)return Q;for(F=m-1;!xA[F];)F--;for(Q=xA[F],Q={line:Q.line,column:Q.column};Fd&&(d=b,E=[]),E.push(m))}function Tn(m,Q){return new uc(m,null,null,Q)}function Fi(m,Q,F){return new uc(uc.buildMessage(m,Q),m,Q,F)}function PA(){var m,Q;return m=b,Q=Kr(),Q===t&&(Q=null),Q!==t&&(Fe=m,Q=s(Q)),m=Q,m}function Kr(){var m,Q,F,K,ce;if(m=b,Q=Hr(),Q!==t){for(F=[],K=Me();K!==t;)F.push(K),K=Me();F!==t?(K=ya(),K!==t?(ce=ts(),ce===t&&(ce=null),ce!==t?(Fe=m,Q=o(Q,K,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;if(m===t)if(m=b,Q=Hr(),Q!==t){for(F=[],K=Me();K!==t;)F.push(K),K=Me();F!==t?(K=ya(),K===t&&(K=null),K!==t?(Fe=m,Q=a(Q,K),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;return m}function ts(){var m,Q,F,K,ce;for(m=b,Q=[],F=Me();F!==t;)Q.push(F),F=Me();if(Q!==t)if(F=Kr(),F!==t){for(K=[],ce=Me();ce!==t;)K.push(ce),ce=Me();K!==t?(Fe=m,Q=l(F),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t;return m}function ya(){var m;return r.charCodeAt(b)===59?(m=c,b++):(m=t,I===0&&Be(u)),m===t&&(r.charCodeAt(b)===38?(m=g,b++):(m=t,I===0&&Be(f))),m}function Hr(){var m,Q,F;return m=b,Q=yU(),Q!==t?(F=$ge(),F===t&&(F=null),F!==t?(Fe=m,Q=h(Q,F),m=Q):(b=m,m=t)):(b=m,m=t),m}function $ge(){var m,Q,F,K,ce,Qe,ft;for(m=b,Q=[],F=Me();F!==t;)Q.push(F),F=Me();if(Q!==t)if(F=efe(),F!==t){for(K=[],ce=Me();ce!==t;)K.push(ce),ce=Me();if(K!==t)if(ce=Hr(),ce!==t){for(Qe=[],ft=Me();ft!==t;)Qe.push(ft),ft=Me();Qe!==t?(Fe=m,Q=p(F,ce),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;return m}function efe(){var m;return r.substr(b,2)===C?(m=C,b+=2):(m=t,I===0&&Be(w)),m===t&&(r.substr(b,2)===B?(m=B,b+=2):(m=t,I===0&&Be(v))),m}function yU(){var m,Q,F;return m=b,Q=ife(),Q!==t?(F=tfe(),F===t&&(F=null),F!==t?(Fe=m,Q=D(Q,F),m=Q):(b=m,m=t)):(b=m,m=t),m}function tfe(){var m,Q,F,K,ce,Qe,ft;for(m=b,Q=[],F=Me();F!==t;)Q.push(F),F=Me();if(Q!==t)if(F=rfe(),F!==t){for(K=[],ce=Me();ce!==t;)K.push(ce),ce=Me();if(K!==t)if(ce=yU(),ce!==t){for(Qe=[],ft=Me();ft!==t;)Qe.push(ft),ft=Me();Qe!==t?(Fe=m,Q=T(F,ce),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;return m}function rfe(){var m;return r.substr(b,2)===H?(m=H,b+=2):(m=t,I===0&&Be(j)),m===t&&(r.charCodeAt(b)===124?(m=$,b++):(m=t,I===0&&Be(V))),m}function EI(){var m,Q,F,K,ce,Qe;if(m=b,Q=FU(),Q!==t)if(r.charCodeAt(b)===61?(F=W,b++):(F=t,I===0&&Be(Z)),F!==t)if(K=bU(),K!==t){for(ce=[],Qe=Me();Qe!==t;)ce.push(Qe),Qe=Me();ce!==t?(Fe=m,Q=A(Q,K),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t;else b=m,m=t;if(m===t)if(m=b,Q=FU(),Q!==t)if(r.charCodeAt(b)===61?(F=W,b++):(F=t,I===0&&Be(Z)),F!==t){for(K=[],ce=Me();ce!==t;)K.push(ce),ce=Me();K!==t?(Fe=m,Q=ae(Q),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t;return m}function ife(){var m,Q,F,K,ce,Qe,ft,Bt,Vr,Ci,rs;for(m=b,Q=[],F=Me();F!==t;)Q.push(F),F=Me();if(Q!==t)if(r.charCodeAt(b)===40?(F=ge,b++):(F=t,I===0&&Be(_)),F!==t){for(K=[],ce=Me();ce!==t;)K.push(ce),ce=Me();if(K!==t)if(ce=Kr(),ce!==t){for(Qe=[],ft=Me();ft!==t;)Qe.push(ft),ft=Me();if(Qe!==t)if(r.charCodeAt(b)===41?(ft=L,b++):(ft=t,I===0&&Be(N)),ft!==t){for(Bt=[],Vr=Me();Vr!==t;)Bt.push(Vr),Vr=Me();if(Bt!==t){for(Vr=[],Ci=nd();Ci!==t;)Vr.push(Ci),Ci=nd();if(Vr!==t){for(Ci=[],rs=Me();rs!==t;)Ci.push(rs),rs=Me();Ci!==t?(Fe=m,Q=ue(ce,Vr),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;if(m===t){for(m=b,Q=[],F=Me();F!==t;)Q.push(F),F=Me();if(Q!==t)if(r.charCodeAt(b)===123?(F=we,b++):(F=t,I===0&&Be(Te)),F!==t){for(K=[],ce=Me();ce!==t;)K.push(ce),ce=Me();if(K!==t)if(ce=Kr(),ce!==t){for(Qe=[],ft=Me();ft!==t;)Qe.push(ft),ft=Me();if(Qe!==t)if(r.charCodeAt(b)===125?(ft=Pe,b++):(ft=t,I===0&&Be(Le)),ft!==t){for(Bt=[],Vr=Me();Vr!==t;)Bt.push(Vr),Vr=Me();if(Bt!==t){for(Vr=[],Ci=nd();Ci!==t;)Vr.push(Ci),Ci=nd();if(Vr!==t){for(Ci=[],rs=Me();rs!==t;)Ci.push(rs),rs=Me();Ci!==t?(Fe=m,Q=se(ce,Vr),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;if(m===t){for(m=b,Q=[],F=Me();F!==t;)Q.push(F),F=Me();if(Q!==t){for(F=[],K=EI();K!==t;)F.push(K),K=EI();if(F!==t){for(K=[],ce=Me();ce!==t;)K.push(ce),ce=Me();if(K!==t){if(ce=[],Qe=BU(),Qe!==t)for(;Qe!==t;)ce.push(Qe),Qe=BU();else ce=t;if(ce!==t){for(Qe=[],ft=Me();ft!==t;)Qe.push(ft),ft=Me();Qe!==t?(Fe=m,Q=Ae(F,ce),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}else b=m,m=t}else b=m,m=t;if(m===t){for(m=b,Q=[],F=Me();F!==t;)Q.push(F),F=Me();if(Q!==t){if(F=[],K=EI(),K!==t)for(;K!==t;)F.push(K),K=EI();else F=t;if(F!==t){for(K=[],ce=Me();ce!==t;)K.push(ce),ce=Me();K!==t?(Fe=m,Q=be(F),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}}}return m}function wU(){var m,Q,F,K,ce;for(m=b,Q=[],F=Me();F!==t;)Q.push(F),F=Me();if(Q!==t){if(F=[],K=II(),K!==t)for(;K!==t;)F.push(K),K=II();else F=t;if(F!==t){for(K=[],ce=Me();ce!==t;)K.push(ce),ce=Me();K!==t?(Fe=m,Q=fe(F),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t;return m}function BU(){var m,Q,F;for(m=b,Q=[],F=Me();F!==t;)Q.push(F),F=Me();if(Q!==t?(F=nd(),F!==t?(Fe=m,Q=le(F),m=Q):(b=m,m=t)):(b=m,m=t),m===t){for(m=b,Q=[],F=Me();F!==t;)Q.push(F),F=Me();Q!==t?(F=II(),F!==t?(Fe=m,Q=le(F),m=Q):(b=m,m=t)):(b=m,m=t)}return m}function nd(){var m,Q,F,K,ce;for(m=b,Q=[],F=Me();F!==t;)Q.push(F),F=Me();return Q!==t?(Ge.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(ie)),F===t&&(F=null),F!==t?(K=nfe(),K!==t?(ce=II(),ce!==t?(Fe=m,Q=Y(F,K,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function nfe(){var m;return r.substr(b,2)===he?(m=he,b+=2):(m=t,I===0&&Be(re)),m===t&&(r.substr(b,2)===me?(m=me,b+=2):(m=t,I===0&&Be(tt)),m===t&&(r.charCodeAt(b)===62?(m=Rt,b++):(m=t,I===0&&Be(It)),m===t&&(r.substr(b,3)===Ur?(m=Ur,b+=3):(m=t,I===0&&Be(oi)),m===t&&(r.substr(b,2)===pi?(m=pi,b+=2):(m=t,I===0&&Be(pr)),m===t&&(r.charCodeAt(b)===60?(m=di,b++):(m=t,I===0&&Be(ai))))))),m}function II(){var m,Q,F;for(m=b,Q=[],F=Me();F!==t;)Q.push(F),F=Me();return Q!==t?(F=bU(),F!==t?(Fe=m,Q=le(F),m=Q):(b=m,m=t)):(b=m,m=t),m}function bU(){var m,Q,F;if(m=b,Q=[],F=QU(),F!==t)for(;F!==t;)Q.push(F),F=QU();else Q=t;return Q!==t&&(Fe=m,Q=Os(Q)),m=Q,m}function QU(){var m,Q;return m=b,Q=sfe(),Q!==t&&(Fe=m,Q=dr(Q)),m=Q,m===t&&(m=b,Q=ofe(),Q!==t&&(Fe=m,Q=dr(Q)),m=Q,m===t&&(m=b,Q=afe(),Q!==t&&(Fe=m,Q=dr(Q)),m=Q,m===t&&(m=b,Q=Afe(),Q!==t&&(Fe=m,Q=dr(Q)),m=Q))),m}function sfe(){var m,Q,F,K;return m=b,r.substr(b,2)===Bi?(Q=Bi,b+=2):(Q=t,I===0&&Be(_n)),Q!==t?(F=ufe(),F!==t?(r.charCodeAt(b)===39?(K=pa,b++):(K=t,I===0&&Be(EA)),K!==t?(Fe=m,Q=kg(F),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function ofe(){var m,Q,F,K;return m=b,r.charCodeAt(b)===39?(Q=pa,b++):(Q=t,I===0&&Be(EA)),Q!==t?(F=lfe(),F!==t?(r.charCodeAt(b)===39?(K=pa,b++):(K=t,I===0&&Be(EA)),K!==t?(Fe=m,Q=kg(F),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function afe(){var m,Q,F,K;if(m=b,r.substr(b,2)===Zn?(Q=Zn,b+=2):(Q=t,I===0&&Be(IA)),Q!==t&&(Fe=m,Q=da()),m=Q,m===t)if(m=b,r.charCodeAt(b)===34?(Q=Jp,b++):(Q=t,I===0&&Be(yA)),Q!==t){for(F=[],K=SU();K!==t;)F.push(K),K=SU();F!==t?(r.charCodeAt(b)===34?(K=Jp,b++):(K=t,I===0&&Be(yA)),K!==t?(Fe=m,Q=wA(F),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;return m}function Afe(){var m,Q,F;if(m=b,Q=[],F=vU(),F!==t)for(;F!==t;)Q.push(F),F=vU();else Q=t;return Q!==t&&(Fe=m,Q=wA(Q)),m=Q,m}function SU(){var m,Q;return m=b,Q=kU(),Q!==t&&(Fe=m,Q=Br(Q)),m=Q,m===t&&(m=b,Q=RU(),Q!==t&&(Fe=m,Q=Vl(Q)),m=Q,m===t&&(m=b,Q=GS(),Q!==t&&(Fe=m,Q=Rg(Q)),m=Q,m===t&&(m=b,Q=cfe(),Q!==t&&(Fe=m,Q=Eo(Q)),m=Q))),m}function vU(){var m,Q;return m=b,Q=kU(),Q!==t&&(Fe=m,Q=Fg(Q)),m=Q,m===t&&(m=b,Q=RU(),Q!==t&&(Fe=m,Q=Wp(Q)),m=Q,m===t&&(m=b,Q=GS(),Q!==t&&(Fe=m,Q=zp(Q)),m=Q,m===t&&(m=b,Q=hfe(),Q!==t&&(Fe=m,Q=Pr(Q)),m=Q,m===t&&(m=b,Q=ffe(),Q!==t&&(Fe=m,Q=Eo(Q)),m=Q)))),m}function lfe(){var m,Q,F;for(m=b,Q=[],oe.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(Io));F!==t;)Q.push(F),oe.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(Io));return Q!==t&&(Fe=m,Q=kn(Q)),m=Q,m}function cfe(){var m,Q,F;if(m=b,Q=[],F=xU(),F===t&&(Ng.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(bt))),F!==t)for(;F!==t;)Q.push(F),F=xU(),F===t&&(Ng.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(bt)));else Q=t;return Q!==t&&(Fe=m,Q=kn(Q)),m=Q,m}function xU(){var m,Q,F;return m=b,r.substr(b,2)===Xl?(Q=Xl,b+=2):(Q=t,I===0&&Be(Rn)),Q!==t&&(Fe=m,Q=$n()),m=Q,m===t&&(m=b,r.charCodeAt(b)===92?(Q=es,b++):(Q=t,I===0&&Be(ut)),Q!==t?(yo.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(at)),F!==t?(Fe=m,Q=ln(F),m=Q):(b=m,m=t)):(b=m,m=t)),m}function ufe(){var m,Q,F;for(m=b,Q=[],F=PU(),F===t&&(oe.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(Io)));F!==t;)Q.push(F),F=PU(),F===t&&(oe.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(Io)));return Q!==t&&(Fe=m,Q=kn(Q)),m=Q,m}function PU(){var m,Q,F;return m=b,r.substr(b,2)===S?(Q=S,b+=2):(Q=t,I===0&&Be(Lt)),Q!==t&&(Fe=m,Q=Tg()),m=Q,m===t&&(m=b,r.substr(b,2)===_l?(Q=_l,b+=2):(Q=t,I===0&&Be(Vp)),Q!==t&&(Fe=m,Q=Xp()),m=Q,m===t&&(m=b,r.charCodeAt(b)===92?(Q=es,b++):(Q=t,I===0&&Be(ut)),Q!==t?(_p.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(Zp)),F!==t?(Fe=m,Q=$p(),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===G?(Q=G,b+=2):(Q=t,I===0&&Be(yt)),Q!==t&&(Fe=m,Q=BA()),m=Q,m===t&&(m=b,r.substr(b,2)===Wi?(Q=Wi,b+=2):(Q=t,I===0&&Be(Zl)),Q!==t&&(Fe=m,Q=We()),m=Q,m===t&&(m=b,r.substr(b,2)===Ca?(Q=Ca,b+=2):(Q=t,I===0&&Be(Lg)),Q!==t&&(Fe=m,Q=uI()),m=Q,m===t&&(m=b,r.substr(b,2)===ed?(Q=ed,b+=2):(Q=t,I===0&&Be(gI)),Q!==t&&(Fe=m,Q=ar()),m=Q,m===t&&(m=b,r.substr(b,2)===Fn?(Q=Fn,b+=2):(Q=t,I===0&&Be($l)),Q!==t&&(Fe=m,Q=td()),m=Q,m===t&&(m=b,r.charCodeAt(b)===92?(Q=es,b++):(Q=t,I===0&&Be(ut)),Q!==t?(Ms.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(ma)),F!==t?(Fe=m,Q=ln(F),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=gfe()))))))))),m}function gfe(){var m,Q,F,K,ce,Qe,ft,Bt,Vr,Ci,rs,YS;return m=b,r.charCodeAt(b)===92?(Q=es,b++):(Q=t,I===0&&Be(ut)),Q!==t?(F=US(),F!==t?(Fe=m,Q=cn(F),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===ke?(Q=ke,b+=2):(Q=t,I===0&&Be(Og)),Q!==t?(F=b,K=b,ce=US(),ce!==t?(Qe=Ln(),Qe!==t?(ce=[ce,Qe],K=ce):(b=K,K=t)):(b=K,K=t),K===t&&(K=US()),K!==t?F=r.substring(F,b):F=K,F!==t?(Fe=m,Q=cn(F),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===ec?(Q=ec,b+=2):(Q=t,I===0&&Be(Us)),Q!==t?(F=b,K=b,ce=Ln(),ce!==t?(Qe=Ln(),Qe!==t?(ft=Ln(),ft!==t?(Bt=Ln(),Bt!==t?(ce=[ce,Qe,ft,Bt],K=ce):(b=K,K=t)):(b=K,K=t)):(b=K,K=t)):(b=K,K=t),K!==t?F=r.substring(F,b):F=K,F!==t?(Fe=m,Q=cn(F),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===tc?(Q=tc,b+=2):(Q=t,I===0&&Be(bA)),Q!==t?(F=b,K=b,ce=Ln(),ce!==t?(Qe=Ln(),Qe!==t?(ft=Ln(),ft!==t?(Bt=Ln(),Bt!==t?(Vr=Ln(),Vr!==t?(Ci=Ln(),Ci!==t?(rs=Ln(),rs!==t?(YS=Ln(),YS!==t?(ce=[ce,Qe,ft,Bt,Vr,Ci,rs,YS],K=ce):(b=K,K=t)):(b=K,K=t)):(b=K,K=t)):(b=K,K=t)):(b=K,K=t)):(b=K,K=t)):(b=K,K=t)):(b=K,K=t),K!==t?F=r.substring(F,b):F=K,F!==t?(Fe=m,Q=Mg(F),m=Q):(b=m,m=t)):(b=m,m=t)))),m}function US(){var m;return Ug.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&Be(Ea)),m}function Ln(){var m;return Ia.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&Be($e)),m}function ffe(){var m,Q,F,K,ce;if(m=b,Q=[],F=b,r.charCodeAt(b)===92?(K=es,b++):(K=t,I===0&&Be(ut)),K!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&Be(wo)),ce!==t?(Fe=F,K=ln(ce),F=K):(b=F,F=t)):(b=F,F=t),F===t&&(F=b,K=b,I++,ce=NU(),I--,ce===t?K=void 0:(b=K,K=t),K!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&Be(wo)),ce!==t?(Fe=F,K=ln(ce),F=K):(b=F,F=t)):(b=F,F=t)),F!==t)for(;F!==t;)Q.push(F),F=b,r.charCodeAt(b)===92?(K=es,b++):(K=t,I===0&&Be(ut)),K!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&Be(wo)),ce!==t?(Fe=F,K=ln(ce),F=K):(b=F,F=t)):(b=F,F=t),F===t&&(F=b,K=b,I++,ce=NU(),I--,ce===t?K=void 0:(b=K,K=t),K!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&Be(wo)),ce!==t?(Fe=F,K=ln(ce),F=K):(b=F,F=t)):(b=F,F=t));else Q=t;return Q!==t&&(Fe=m,Q=kn(Q)),m=Q,m}function KS(){var m,Q,F,K,ce,Qe;if(m=b,r.charCodeAt(b)===45?(Q=QA,b++):(Q=t,I===0&&Be(rc)),Q===t&&(r.charCodeAt(b)===43?(Q=Ks,b++):(Q=t,I===0&&Be(ic))),Q===t&&(Q=null),Q!==t){if(F=[],Ge.test(r.charAt(b))?(K=r.charAt(b),b++):(K=t,I===0&&Be(ie)),K!==t)for(;K!==t;)F.push(K),Ge.test(r.charAt(b))?(K=r.charAt(b),b++):(K=t,I===0&&Be(ie));else F=t;if(F!==t)if(r.charCodeAt(b)===46?(K=fI,b++):(K=t,I===0&&Be(rd)),K!==t){if(ce=[],Ge.test(r.charAt(b))?(Qe=r.charAt(b),b++):(Qe=t,I===0&&Be(ie)),Qe!==t)for(;Qe!==t;)ce.push(Qe),Ge.test(r.charAt(b))?(Qe=r.charAt(b),b++):(Qe=t,I===0&&Be(ie));else ce=t;ce!==t?(Fe=m,Q=Kg(Q,F,ce),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;if(m===t){if(m=b,r.charCodeAt(b)===45?(Q=QA,b++):(Q=t,I===0&&Be(rc)),Q===t&&(r.charCodeAt(b)===43?(Q=Ks,b++):(Q=t,I===0&&Be(ic))),Q===t&&(Q=null),Q!==t){if(F=[],Ge.test(r.charAt(b))?(K=r.charAt(b),b++):(K=t,I===0&&Be(ie)),K!==t)for(;K!==t;)F.push(K),Ge.test(r.charAt(b))?(K=r.charAt(b),b++):(K=t,I===0&&Be(ie));else F=t;F!==t?(Fe=m,Q=id(Q,F),m=Q):(b=m,m=t)}else b=m,m=t;if(m===t&&(m=b,Q=GS(),Q!==t&&(Fe=m,Q=hI(Q)),m=Q,m===t&&(m=b,Q=sc(),Q!==t&&(Fe=m,Q=nc(Q)),m=Q,m===t)))if(m=b,r.charCodeAt(b)===40?(Q=ge,b++):(Q=t,I===0&&Be(_)),Q!==t){for(F=[],K=Me();K!==t;)F.push(K),K=Me();if(F!==t)if(K=DU(),K!==t){for(ce=[],Qe=Me();Qe!==t;)ce.push(Qe),Qe=Me();ce!==t?(r.charCodeAt(b)===41?(Qe=L,b++):(Qe=t,I===0&&Be(N)),Qe!==t?(Fe=m,Q=pI(K),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t}return m}function HS(){var m,Q,F,K,ce,Qe,ft,Bt;if(m=b,Q=KS(),Q!==t){for(F=[],K=b,ce=[],Qe=Me();Qe!==t;)ce.push(Qe),Qe=Me();if(ce!==t)if(r.charCodeAt(b)===42?(Qe=Hg,b++):(Qe=t,I===0&&Be(SA)),Qe===t&&(r.charCodeAt(b)===47?(Qe=Nr,b++):(Qe=t,I===0&&Be(dI))),Qe!==t){for(ft=[],Bt=Me();Bt!==t;)ft.push(Bt),Bt=Me();ft!==t?(Bt=KS(),Bt!==t?(Fe=K,ce=Hs(Q,Qe,Bt),K=ce):(b=K,K=t)):(b=K,K=t)}else b=K,K=t;else b=K,K=t;for(;K!==t;){for(F.push(K),K=b,ce=[],Qe=Me();Qe!==t;)ce.push(Qe),Qe=Me();if(ce!==t)if(r.charCodeAt(b)===42?(Qe=Hg,b++):(Qe=t,I===0&&Be(SA)),Qe===t&&(r.charCodeAt(b)===47?(Qe=Nr,b++):(Qe=t,I===0&&Be(dI))),Qe!==t){for(ft=[],Bt=Me();Bt!==t;)ft.push(Bt),Bt=Me();ft!==t?(Bt=KS(),Bt!==t?(Fe=K,ce=Hs(Q,Qe,Bt),K=ce):(b=K,K=t)):(b=K,K=t)}else b=K,K=t;else b=K,K=t}F!==t?(Fe=m,Q=Gs(Q,F),m=Q):(b=m,m=t)}else b=m,m=t;return m}function DU(){var m,Q,F,K,ce,Qe,ft,Bt;if(m=b,Q=HS(),Q!==t){for(F=[],K=b,ce=[],Qe=Me();Qe!==t;)ce.push(Qe),Qe=Me();if(ce!==t)if(r.charCodeAt(b)===43?(Qe=Ks,b++):(Qe=t,I===0&&Be(ic)),Qe===t&&(r.charCodeAt(b)===45?(Qe=QA,b++):(Qe=t,I===0&&Be(rc))),Qe!==t){for(ft=[],Bt=Me();Bt!==t;)ft.push(Bt),Bt=Me();ft!==t?(Bt=HS(),Bt!==t?(Fe=K,ce=Gg(Q,Qe,Bt),K=ce):(b=K,K=t)):(b=K,K=t)}else b=K,K=t;else b=K,K=t;for(;K!==t;){for(F.push(K),K=b,ce=[],Qe=Me();Qe!==t;)ce.push(Qe),Qe=Me();if(ce!==t)if(r.charCodeAt(b)===43?(Qe=Ks,b++):(Qe=t,I===0&&Be(ic)),Qe===t&&(r.charCodeAt(b)===45?(Qe=QA,b++):(Qe=t,I===0&&Be(rc))),Qe!==t){for(ft=[],Bt=Me();Bt!==t;)ft.push(Bt),Bt=Me();ft!==t?(Bt=HS(),Bt!==t?(Fe=K,ce=Gg(Q,Qe,Bt),K=ce):(b=K,K=t)):(b=K,K=t)}else b=K,K=t;else b=K,K=t}F!==t?(Fe=m,Q=Gs(Q,F),m=Q):(b=m,m=t)}else b=m,m=t;return m}function kU(){var m,Q,F,K,ce,Qe;if(m=b,r.substr(b,3)===vA?(Q=vA,b+=3):(Q=t,I===0&&Be(R)),Q!==t){for(F=[],K=Me();K!==t;)F.push(K),K=Me();if(F!==t)if(K=DU(),K!==t){for(ce=[],Qe=Me();Qe!==t;)ce.push(Qe),Qe=Me();ce!==t?(r.substr(b,2)===q?(Qe=q,b+=2):(Qe=t,I===0&&Be(pe)),Qe!==t?(Fe=m,Q=Ne(K),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;return m}function RU(){var m,Q,F,K;return m=b,r.substr(b,2)===xe?(Q=xe,b+=2):(Q=t,I===0&&Be(qe)),Q!==t?(F=Kr(),F!==t?(r.charCodeAt(b)===41?(K=L,b++):(K=t,I===0&&Be(N)),K!==t?(Fe=m,Q=dt(F),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function GS(){var m,Q,F,K,ce,Qe;return m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&Be(Nn)),Q!==t?(F=sc(),F!==t?(r.substr(b,2)===vS?(K=vS,b+=2):(K=t,I===0&&Be(AU)),K!==t?(ce=wU(),ce!==t?(r.charCodeAt(b)===125?(Qe=Pe,b++):(Qe=t,I===0&&Be(Le)),Qe!==t?(Fe=m,Q=lU(F,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&Be(Nn)),Q!==t?(F=sc(),F!==t?(r.substr(b,3)===xS?(K=xS,b+=3):(K=t,I===0&&Be(cU)),K!==t?(Fe=m,Q=uU(F),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&Be(Nn)),Q!==t?(F=sc(),F!==t?(r.substr(b,2)===PS?(K=PS,b+=2):(K=t,I===0&&Be(gU)),K!==t?(ce=wU(),ce!==t?(r.charCodeAt(b)===125?(Qe=Pe,b++):(Qe=t,I===0&&Be(Le)),Qe!==t?(Fe=m,Q=fU(F,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&Be(Nn)),Q!==t?(F=sc(),F!==t?(r.substr(b,3)===DS?(K=DS,b+=3):(K=t,I===0&&Be(hU)),K!==t?(Fe=m,Q=pU(F),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&Be(Nn)),Q!==t?(F=sc(),F!==t?(r.charCodeAt(b)===125?(K=Pe,b++):(K=t,I===0&&Be(Le)),K!==t?(Fe=m,Q=kS(F),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.charCodeAt(b)===36?(Q=dU,b++):(Q=t,I===0&&Be(CU)),Q!==t?(F=sc(),F!==t?(Fe=m,Q=kS(F),m=Q):(b=m,m=t)):(b=m,m=t)))))),m}function hfe(){var m,Q,F;return m=b,Q=pfe(),Q!==t?(Fe=b,F=mU(Q),F?F=void 0:F=t,F!==t?(Fe=m,Q=EU(Q),m=Q):(b=m,m=t)):(b=m,m=t),m}function pfe(){var m,Q,F,K,ce;if(m=b,Q=[],F=b,K=b,I++,ce=TU(),I--,ce===t?K=void 0:(b=K,K=t),K!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&Be(wo)),ce!==t?(Fe=F,K=ln(ce),F=K):(b=F,F=t)):(b=F,F=t),F!==t)for(;F!==t;)Q.push(F),F=b,K=b,I++,ce=TU(),I--,ce===t?K=void 0:(b=K,K=t),K!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&Be(wo)),ce!==t?(Fe=F,K=ln(ce),F=K):(b=F,F=t)):(b=F,F=t);else Q=t;return Q!==t&&(Fe=m,Q=kn(Q)),m=Q,m}function FU(){var m,Q,F;if(m=b,Q=[],RS.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(FS)),F!==t)for(;F!==t;)Q.push(F),RS.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(FS));else Q=t;return Q!==t&&(Fe=m,Q=NS()),m=Q,m}function sc(){var m,Q,F;if(m=b,Q=[],TS.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(LS)),F!==t)for(;F!==t;)Q.push(F),TS.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(LS));else Q=t;return Q!==t&&(Fe=m,Q=NS()),m=Q,m}function NU(){var m;return IU.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&Be(Yg)),m}function TU(){var m;return OS.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&Be(MS)),m}function Me(){var m,Q;if(m=[],CI.test(r.charAt(b))?(Q=r.charAt(b),b++):(Q=t,I===0&&Be(mI)),Q!==t)for(;Q!==t;)m.push(Q),CI.test(r.charAt(b))?(Q=r.charAt(b),b++):(Q=t,I===0&&Be(mI));else m=t;return m}if(k=n(),k!==t&&b===r.length)return k;throw k!==t&&b{"use strict";function phe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function fc(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,fc)}phe(fc,Error);fc.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;gH&&(H=v,j=[]),j.push(ie))}function Le(ie,Y){return new fc(ie,null,null,Y)}function se(ie,Y,he){return new fc(fc.buildMessage(ie,Y),ie,Y,he)}function Ae(){var ie,Y,he,re;return ie=v,Y=be(),Y!==t?(r.charCodeAt(v)===47?(he=s,v++):(he=t,$===0&&Pe(o)),he!==t?(re=be(),re!==t?(D=ie,Y=a(Y,re),ie=Y):(v=ie,ie=t)):(v=ie,ie=t)):(v=ie,ie=t),ie===t&&(ie=v,Y=be(),Y!==t&&(D=ie,Y=l(Y)),ie=Y),ie}function be(){var ie,Y,he,re;return ie=v,Y=fe(),Y!==t?(r.charCodeAt(v)===64?(he=c,v++):(he=t,$===0&&Pe(u)),he!==t?(re=Ge(),re!==t?(D=ie,Y=g(Y,re),ie=Y):(v=ie,ie=t)):(v=ie,ie=t)):(v=ie,ie=t),ie===t&&(ie=v,Y=fe(),Y!==t&&(D=ie,Y=f(Y)),ie=Y),ie}function fe(){var ie,Y,he,re,me;return ie=v,r.charCodeAt(v)===64?(Y=c,v++):(Y=t,$===0&&Pe(u)),Y!==t?(he=le(),he!==t?(r.charCodeAt(v)===47?(re=s,v++):(re=t,$===0&&Pe(o)),re!==t?(me=le(),me!==t?(D=ie,Y=h(),ie=Y):(v=ie,ie=t)):(v=ie,ie=t)):(v=ie,ie=t)):(v=ie,ie=t),ie===t&&(ie=v,Y=le(),Y!==t&&(D=ie,Y=h()),ie=Y),ie}function le(){var ie,Y,he;if(ie=v,Y=[],p.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Pe(C)),he!==t)for(;he!==t;)Y.push(he),p.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Pe(C));else Y=t;return Y!==t&&(D=ie,Y=h()),ie=Y,ie}function Ge(){var ie,Y,he;if(ie=v,Y=[],w.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Pe(B)),he!==t)for(;he!==t;)Y.push(he),w.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Pe(B));else Y=t;return Y!==t&&(D=ie,Y=h()),ie=Y,ie}if(V=n(),V!==t&&v===r.length)return V;throw V!==t&&v{"use strict";function XK(r){return typeof r>"u"||r===null}function Che(r){return typeof r=="object"&&r!==null}function mhe(r){return Array.isArray(r)?r:XK(r)?[]:[r]}function Ehe(r,e){var t,i,n,s;if(e)for(s=Object.keys(e),t=0,i=s.length;t{"use strict";function md(r,e){Error.call(this),this.name="YAMLException",this.reason=r,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}md.prototype=Object.create(Error.prototype);md.prototype.constructor=md;md.prototype.toString=function(e){var t=this.name+": ";return t+=this.reason||"(unknown reason)",!e&&this.mark&&(t+=" "+this.mark.toString()),t};_K.exports=md});var e2=y((YZe,$K)=>{"use strict";var ZK=pc();function wv(r,e,t,i,n){this.name=r,this.buffer=e,this.position=t,this.line=i,this.column=n}wv.prototype.getSnippet=function(e,t){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,t=t||75,i="",n=this.position;n>0&&`\0\r -\x85\u2028\u2029`.indexOf(this.buffer.charAt(n-1))===-1;)if(n-=1,this.position-n>t/2-1){i=" ... ",n+=5;break}for(s="",o=this.position;ot/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(n,o),ZK.repeat(" ",e)+i+a+s+` -`+ZK.repeat(" ",e+this.position-n+i.length)+"^"};wv.prototype.toString=function(e){var t,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet(),t&&(i+=`: -`+t)),i};$K.exports=wv});var Ai=y((jZe,r2)=>{"use strict";var t2=tf(),whe=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],Bhe=["scalar","sequence","mapping"];function bhe(r){var e={};return r!==null&&Object.keys(r).forEach(function(t){r[t].forEach(function(i){e[String(i)]=t})}),e}function Qhe(r,e){if(e=e||{},Object.keys(e).forEach(function(t){if(whe.indexOf(t)===-1)throw new t2('Unknown option "'+t+'" is met in definition of "'+r+'" YAML type.')}),this.tag=r,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=bhe(e.styleAliases||null),Bhe.indexOf(this.kind)===-1)throw new t2('Unknown kind "'+this.kind+'" is specified for "'+r+'" YAML type.')}r2.exports=Qhe});var dc=y((qZe,n2)=>{"use strict";var i2=pc(),jI=tf(),She=Ai();function Bv(r,e,t){var i=[];return r.include.forEach(function(n){t=Bv(n,e,t)}),r[e].forEach(function(n){t.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),t.push(n)}),t.filter(function(n,s){return i.indexOf(s)===-1})}function vhe(){var r={scalar:{},sequence:{},mapping:{},fallback:{}},e,t;function i(n){r[n.kind][n.tag]=r.fallback[n.tag]=n}for(e=0,t=arguments.length;e{"use strict";var xhe=Ai();s2.exports=new xhe("tag:yaml.org,2002:str",{kind:"scalar",construct:function(r){return r!==null?r:""}})});var A2=y((WZe,a2)=>{"use strict";var Phe=Ai();a2.exports=new Phe("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(r){return r!==null?r:[]}})});var c2=y((zZe,l2)=>{"use strict";var Dhe=Ai();l2.exports=new Dhe("tag:yaml.org,2002:map",{kind:"mapping",construct:function(r){return r!==null?r:{}}})});var qI=y((VZe,u2)=>{"use strict";var khe=dc();u2.exports=new khe({explicit:[o2(),A2(),c2()]})});var f2=y((XZe,g2)=>{"use strict";var Rhe=Ai();function Fhe(r){if(r===null)return!0;var e=r.length;return e===1&&r==="~"||e===4&&(r==="null"||r==="Null"||r==="NULL")}function Nhe(){return null}function The(r){return r===null}g2.exports=new Rhe("tag:yaml.org,2002:null",{kind:"scalar",resolve:Fhe,construct:Nhe,predicate:The,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var p2=y((_Ze,h2)=>{"use strict";var Lhe=Ai();function Ohe(r){if(r===null)return!1;var e=r.length;return e===4&&(r==="true"||r==="True"||r==="TRUE")||e===5&&(r==="false"||r==="False"||r==="FALSE")}function Mhe(r){return r==="true"||r==="True"||r==="TRUE"}function Uhe(r){return Object.prototype.toString.call(r)==="[object Boolean]"}h2.exports=new Lhe("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Ohe,construct:Mhe,predicate:Uhe,represent:{lowercase:function(r){return r?"true":"false"},uppercase:function(r){return r?"TRUE":"FALSE"},camelcase:function(r){return r?"True":"False"}},defaultStyle:"lowercase"})});var C2=y((ZZe,d2)=>{"use strict";var Khe=pc(),Hhe=Ai();function Ghe(r){return 48<=r&&r<=57||65<=r&&r<=70||97<=r&&r<=102}function Yhe(r){return 48<=r&&r<=55}function jhe(r){return 48<=r&&r<=57}function qhe(r){if(r===null)return!1;var e=r.length,t=0,i=!1,n;if(!e)return!1;if(n=r[t],(n==="-"||n==="+")&&(n=r[++t]),n==="0"){if(t+1===e)return!0;if(n=r[++t],n==="b"){for(t++;t=0?"0b"+r.toString(2):"-0b"+r.toString(2).slice(1)},octal:function(r){return r>=0?"0"+r.toString(8):"-0"+r.toString(8).slice(1)},decimal:function(r){return r.toString(10)},hexadecimal:function(r){return r>=0?"0x"+r.toString(16).toUpperCase():"-0x"+r.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var I2=y(($Ze,E2)=>{"use strict";var m2=pc(),zhe=Ai(),Vhe=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Xhe(r){return!(r===null||!Vhe.test(r)||r[r.length-1]==="_")}function _he(r){var e,t,i,n;return e=r.replace(/_/g,"").toLowerCase(),t=e[0]==="-"?-1:1,n=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),t*e):t*parseFloat(e,10)}var Zhe=/^[-+]?[0-9]+e/;function $he(r,e){var t;if(isNaN(r))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===r)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===r)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(m2.isNegativeZero(r))return"-0.0";return t=r.toString(10),Zhe.test(t)?t.replace("e",".e"):t}function epe(r){return Object.prototype.toString.call(r)==="[object Number]"&&(r%1!==0||m2.isNegativeZero(r))}E2.exports=new zhe("tag:yaml.org,2002:float",{kind:"scalar",resolve:Xhe,construct:_he,predicate:epe,represent:$he,defaultStyle:"lowercase"})});var bv=y((e$e,y2)=>{"use strict";var tpe=dc();y2.exports=new tpe({include:[qI()],implicit:[f2(),p2(),C2(),I2()]})});var Qv=y((t$e,w2)=>{"use strict";var rpe=dc();w2.exports=new rpe({include:[bv()]})});var S2=y((r$e,Q2)=>{"use strict";var ipe=Ai(),B2=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),b2=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function npe(r){return r===null?!1:B2.exec(r)!==null||b2.exec(r)!==null}function spe(r){var e,t,i,n,s,o,a,l=0,c=null,u,g,f;if(e=B2.exec(r),e===null&&(e=b2.exec(r)),e===null)throw new Error("Date resolve error");if(t=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(t,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]==="-"&&(c=-c)),f=new Date(Date.UTC(t,i,n,s,o,a,l)),c&&f.setTime(f.getTime()-c),f}function ope(r){return r.toISOString()}Q2.exports=new ipe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:npe,construct:spe,instanceOf:Date,represent:ope})});var x2=y((i$e,v2)=>{"use strict";var ape=Ai();function Ape(r){return r==="<<"||r===null}v2.exports=new ape("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Ape})});var k2=y((n$e,D2)=>{"use strict";var Cc;try{P2=J,Cc=P2("buffer").Buffer}catch{}var P2,lpe=Ai(),Sv=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= -\r`;function cpe(r){if(r===null)return!1;var e,t,i=0,n=r.length,s=Sv;for(t=0;t64)){if(e<0)return!1;i+=6}return i%8===0}function upe(r){var e,t,i=r.replace(/[\r\n=]/g,""),n=i.length,s=Sv,o=0,a=[];for(e=0;e>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return t=n%4*6,t===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):t===18?(a.push(o>>10&255),a.push(o>>2&255)):t===12&&a.push(o>>4&255),Cc?Cc.from?Cc.from(a):new Cc(a):a}function gpe(r){var e="",t=0,i,n,s=r.length,o=Sv;for(i=0;i>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]),t=(t<<8)+r[i];return n=s%3,n===0?(e+=o[t>>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]):n===2?(e+=o[t>>10&63],e+=o[t>>4&63],e+=o[t<<2&63],e+=o[64]):n===1&&(e+=o[t>>2&63],e+=o[t<<4&63],e+=o[64],e+=o[64]),e}function fpe(r){return Cc&&Cc.isBuffer(r)}D2.exports=new lpe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:cpe,construct:upe,predicate:fpe,represent:gpe})});var F2=y((s$e,R2)=>{"use strict";var hpe=Ai(),ppe=Object.prototype.hasOwnProperty,dpe=Object.prototype.toString;function Cpe(r){if(r===null)return!0;var e=[],t,i,n,s,o,a=r;for(t=0,i=a.length;t{"use strict";var Epe=Ai(),Ipe=Object.prototype.toString;function ype(r){if(r===null)return!0;var e,t,i,n,s,o=r;for(s=new Array(o.length),e=0,t=o.length;e{"use strict";var Bpe=Ai(),bpe=Object.prototype.hasOwnProperty;function Qpe(r){if(r===null)return!0;var e,t=r;for(e in t)if(bpe.call(t,e)&&t[e]!==null)return!1;return!0}function Spe(r){return r!==null?r:{}}L2.exports=new Bpe("tag:yaml.org,2002:set",{kind:"mapping",resolve:Qpe,construct:Spe})});var nf=y((A$e,M2)=>{"use strict";var vpe=dc();M2.exports=new vpe({include:[Qv()],implicit:[S2(),x2()],explicit:[k2(),F2(),T2(),O2()]})});var K2=y((l$e,U2)=>{"use strict";var xpe=Ai();function Ppe(){return!0}function Dpe(){}function kpe(){return""}function Rpe(r){return typeof r>"u"}U2.exports=new xpe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:Ppe,construct:Dpe,predicate:Rpe,represent:kpe})});var G2=y((c$e,H2)=>{"use strict";var Fpe=Ai();function Npe(r){if(r===null||r.length===0)return!1;var e=r,t=/\/([gim]*)$/.exec(r),i="";return!(e[0]==="/"&&(t&&(i=t[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function Tpe(r){var e=r,t=/\/([gim]*)$/.exec(r),i="";return e[0]==="/"&&(t&&(i=t[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function Lpe(r){var e="/"+r.source+"/";return r.global&&(e+="g"),r.multiline&&(e+="m"),r.ignoreCase&&(e+="i"),e}function Ope(r){return Object.prototype.toString.call(r)==="[object RegExp]"}H2.exports=new Fpe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:Npe,construct:Tpe,predicate:Ope,represent:Lpe})});var q2=y((u$e,j2)=>{"use strict";var JI;try{Y2=J,JI=Y2("esprima")}catch{typeof window<"u"&&(JI=window.esprima)}var Y2,Mpe=Ai();function Upe(r){if(r===null)return!1;try{var e="("+r+")",t=JI.parse(e,{range:!0});return!(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function Kpe(r){var e="("+r+")",t=JI.parse(e,{range:!0}),i=[],n;if(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return t.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=t.body[0].expression.body.range,t.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function Hpe(r){return r.toString()}function Gpe(r){return Object.prototype.toString.call(r)==="[object Function]"}j2.exports=new Mpe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:Upe,construct:Kpe,predicate:Gpe,represent:Hpe})});var Ed=y((g$e,W2)=>{"use strict";var J2=dc();W2.exports=J2.DEFAULT=new J2({include:[nf()],explicit:[K2(),G2(),q2()]})});var gH=y((f$e,Id)=>{"use strict";var Qa=pc(),eH=tf(),Ype=e2(),tH=nf(),jpe=Ed(),NA=Object.prototype.hasOwnProperty,WI=1,rH=2,iH=3,zI=4,vv=1,qpe=2,z2=3,Jpe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Wpe=/[\x85\u2028\u2029]/,zpe=/[,\[\]\{\}]/,nH=/^(?:!|!!|![a-z\-]+!)$/i,sH=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function V2(r){return Object.prototype.toString.call(r)}function So(r){return r===10||r===13}function Ec(r){return r===9||r===32}function fn(r){return r===9||r===32||r===10||r===13}function sf(r){return r===44||r===91||r===93||r===123||r===125}function Vpe(r){var e;return 48<=r&&r<=57?r-48:(e=r|32,97<=e&&e<=102?e-97+10:-1)}function Xpe(r){return r===120?2:r===117?4:r===85?8:0}function _pe(r){return 48<=r&&r<=57?r-48:-1}function X2(r){return r===48?"\0":r===97?"\x07":r===98?"\b":r===116||r===9?" ":r===110?` -`:r===118?"\v":r===102?"\f":r===114?"\r":r===101?"\x1B":r===32?" ":r===34?'"':r===47?"/":r===92?"\\":r===78?"\x85":r===95?"\xA0":r===76?"\u2028":r===80?"\u2029":""}function Zpe(r){return r<=65535?String.fromCharCode(r):String.fromCharCode((r-65536>>10)+55296,(r-65536&1023)+56320)}var oH=new Array(256),aH=new Array(256);for(mc=0;mc<256;mc++)oH[mc]=X2(mc)?1:0,aH[mc]=X2(mc);var mc;function $pe(r,e){this.input=r,this.filename=e.filename||null,this.schema=e.schema||jpe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=r.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function AH(r,e){return new eH(e,new Ype(r.filename,r.input,r.position,r.line,r.position-r.lineStart))}function gt(r,e){throw AH(r,e)}function VI(r,e){r.onWarning&&r.onWarning.call(null,AH(r,e))}var _2={YAML:function(e,t,i){var n,s,o;e.version!==null&>(e,"duplication of %YAML directive"),i.length!==1&>(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&>(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&>(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&VI(e,"unsupported YAML version of the document")},TAG:function(e,t,i){var n,s;i.length!==2&>(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],nH.test(n)||gt(e,"ill-formed tag handle (first argument) of the TAG directive"),NA.call(e.tagMap,n)&>(e,'there is a previously declared suffix for "'+n+'" tag handle'),sH.test(s)||gt(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function FA(r,e,t,i){var n,s,o,a;if(e1&&(r.result+=Qa.repeat(` -`,e-1))}function ede(r,e,t){var i,n,s,o,a,l,c,u,g=r.kind,f=r.result,h;if(h=r.input.charCodeAt(r.position),fn(h)||sf(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(n=r.input.charCodeAt(r.position+1),fn(n)||t&&sf(n)))return!1;for(r.kind="scalar",r.result="",s=o=r.position,a=!1;h!==0;){if(h===58){if(n=r.input.charCodeAt(r.position+1),fn(n)||t&&sf(n))break}else if(h===35){if(i=r.input.charCodeAt(r.position-1),fn(i))break}else{if(r.position===r.lineStart&&XI(r)||t&&sf(h))break;if(So(h))if(l=r.line,c=r.lineStart,u=r.lineIndent,_r(r,!1,-1),r.lineIndent>=e){a=!0,h=r.input.charCodeAt(r.position);continue}else{r.position=o,r.line=l,r.lineStart=c,r.lineIndent=u;break}}a&&(FA(r,s,o,!1),Pv(r,r.line-l),s=o=r.position,a=!1),Ec(h)||(o=r.position+1),h=r.input.charCodeAt(++r.position)}return FA(r,s,o,!1),r.result?!0:(r.kind=g,r.result=f,!1)}function tde(r,e){var t,i,n;if(t=r.input.charCodeAt(r.position),t!==39)return!1;for(r.kind="scalar",r.result="",r.position++,i=n=r.position;(t=r.input.charCodeAt(r.position))!==0;)if(t===39)if(FA(r,i,r.position,!0),t=r.input.charCodeAt(++r.position),t===39)i=r.position,r.position++,n=r.position;else return!0;else So(t)?(FA(r,i,n,!0),Pv(r,_r(r,!1,e)),i=n=r.position):r.position===r.lineStart&&XI(r)?gt(r,"unexpected end of the document within a single quoted scalar"):(r.position++,n=r.position);gt(r,"unexpected end of the stream within a single quoted scalar")}function rde(r,e){var t,i,n,s,o,a;if(a=r.input.charCodeAt(r.position),a!==34)return!1;for(r.kind="scalar",r.result="",r.position++,t=i=r.position;(a=r.input.charCodeAt(r.position))!==0;){if(a===34)return FA(r,t,r.position,!0),r.position++,!0;if(a===92){if(FA(r,t,r.position,!0),a=r.input.charCodeAt(++r.position),So(a))_r(r,!1,e);else if(a<256&&oH[a])r.result+=aH[a],r.position++;else if((o=Xpe(a))>0){for(n=o,s=0;n>0;n--)a=r.input.charCodeAt(++r.position),(o=Vpe(a))>=0?s=(s<<4)+o:gt(r,"expected hexadecimal character");r.result+=Zpe(s),r.position++}else gt(r,"unknown escape sequence");t=i=r.position}else So(a)?(FA(r,t,i,!0),Pv(r,_r(r,!1,e)),t=i=r.position):r.position===r.lineStart&&XI(r)?gt(r,"unexpected end of the document within a double quoted scalar"):(r.position++,i=r.position)}gt(r,"unexpected end of the stream within a double quoted scalar")}function ide(r,e){var t=!0,i,n=r.tag,s,o=r.anchor,a,l,c,u,g,f={},h,p,C,w;if(w=r.input.charCodeAt(r.position),w===91)l=93,g=!1,s=[];else if(w===123)l=125,g=!0,s={};else return!1;for(r.anchor!==null&&(r.anchorMap[r.anchor]=s),w=r.input.charCodeAt(++r.position);w!==0;){if(_r(r,!0,e),w=r.input.charCodeAt(r.position),w===l)return r.position++,r.tag=n,r.anchor=o,r.kind=g?"mapping":"sequence",r.result=s,!0;t||gt(r,"missed comma between flow collection entries"),p=h=C=null,c=u=!1,w===63&&(a=r.input.charCodeAt(r.position+1),fn(a)&&(c=u=!0,r.position++,_r(r,!0,e))),i=r.line,af(r,e,WI,!1,!0),p=r.tag,h=r.result,_r(r,!0,e),w=r.input.charCodeAt(r.position),(u||r.line===i)&&w===58&&(c=!0,w=r.input.charCodeAt(++r.position),_r(r,!0,e),af(r,e,WI,!1,!0),C=r.result),g?of(r,s,f,p,h,C):c?s.push(of(r,null,f,p,h,C)):s.push(h),_r(r,!0,e),w=r.input.charCodeAt(r.position),w===44?(t=!0,w=r.input.charCodeAt(++r.position)):t=!1}gt(r,"unexpected end of the stream within a flow collection")}function nde(r,e){var t,i,n=vv,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=r.input.charCodeAt(r.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(r.kind="scalar",r.result="";g!==0;)if(g=r.input.charCodeAt(++r.position),g===43||g===45)vv===n?n=g===43?z2:qpe:gt(r,"repeat of a chomping mode identifier");else if((u=_pe(g))>=0)u===0?gt(r,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?gt(r,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(Ec(g)){do g=r.input.charCodeAt(++r.position);while(Ec(g));if(g===35)do g=r.input.charCodeAt(++r.position);while(!So(g)&&g!==0)}for(;g!==0;){for(xv(r),r.lineIndent=0,g=r.input.charCodeAt(r.position);(!o||r.lineIndenta&&(a=r.lineIndent),So(g)){l++;continue}if(r.lineIndente)&&l!==0)gt(r,"bad indentation of a sequence entry");else if(r.lineIndente)&&(af(r,e,zI,!0,n)&&(p?f=r.result:h=r.result),p||(of(r,c,u,g,f,h,s,o),g=f=h=null),_r(r,!0,-1),w=r.input.charCodeAt(r.position)),r.lineIndent>e&&w!==0)gt(r,"bad indentation of a mapping entry");else if(r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndent tag; it should be "scalar", not "'+r.kind+'"'),g=0,f=r.implicitTypes.length;g tag; it should be "'+h.kind+'", not "'+r.kind+'"'),h.resolve(r.result)?(r.result=h.construct(r.result),r.anchor!==null&&(r.anchorMap[r.anchor]=r.result)):gt(r,"cannot resolve a node with !<"+r.tag+"> explicit tag")):gt(r,"unknown tag !<"+r.tag+">");return r.listener!==null&&r.listener("close",r),r.tag!==null||r.anchor!==null||u}function lde(r){var e=r.position,t,i,n,s=!1,o;for(r.version=null,r.checkLineBreaks=r.legacy,r.tagMap={},r.anchorMap={};(o=r.input.charCodeAt(r.position))!==0&&(_r(r,!0,-1),o=r.input.charCodeAt(r.position),!(r.lineIndent>0||o!==37));){for(s=!0,o=r.input.charCodeAt(++r.position),t=r.position;o!==0&&!fn(o);)o=r.input.charCodeAt(++r.position);for(i=r.input.slice(t,r.position),n=[],i.length<1&>(r,"directive name must not be less than one character in length");o!==0;){for(;Ec(o);)o=r.input.charCodeAt(++r.position);if(o===35){do o=r.input.charCodeAt(++r.position);while(o!==0&&!So(o));break}if(So(o))break;for(t=r.position;o!==0&&!fn(o);)o=r.input.charCodeAt(++r.position);n.push(r.input.slice(t,r.position))}o!==0&&xv(r),NA.call(_2,i)?_2[i](r,i,n):VI(r,'unknown document directive "'+i+'"')}if(_r(r,!0,-1),r.lineIndent===0&&r.input.charCodeAt(r.position)===45&&r.input.charCodeAt(r.position+1)===45&&r.input.charCodeAt(r.position+2)===45?(r.position+=3,_r(r,!0,-1)):s&>(r,"directives end mark is expected"),af(r,r.lineIndent-1,zI,!1,!0),_r(r,!0,-1),r.checkLineBreaks&&Wpe.test(r.input.slice(e,r.position))&&VI(r,"non-ASCII line breaks are interpreted as content"),r.documents.push(r.result),r.position===r.lineStart&&XI(r)){r.input.charCodeAt(r.position)===46&&(r.position+=3,_r(r,!0,-1));return}if(r.position"u"&&(t=e,e=null);var i=lH(r,t);if(typeof e!="function")return i;for(var n=0,s=i.length;n"u"&&(t=e,e=null),cH(r,e,Qa.extend({schema:tH},t))}function ude(r,e){return uH(r,Qa.extend({schema:tH},e))}Id.exports.loadAll=cH;Id.exports.load=uH;Id.exports.safeLoadAll=cde;Id.exports.safeLoad=ude});var TH=y((h$e,Fv)=>{"use strict";var wd=pc(),Bd=tf(),gde=Ed(),fde=nf(),IH=Object.prototype.toString,yH=Object.prototype.hasOwnProperty,hde=9,yd=10,pde=13,dde=32,Cde=33,mde=34,wH=35,Ede=37,Ide=38,yde=39,wde=42,BH=44,Bde=45,bH=58,bde=61,Qde=62,Sde=63,vde=64,QH=91,SH=93,xde=96,vH=123,Pde=124,xH=125,Ti={};Ti[0]="\\0";Ti[7]="\\a";Ti[8]="\\b";Ti[9]="\\t";Ti[10]="\\n";Ti[11]="\\v";Ti[12]="\\f";Ti[13]="\\r";Ti[27]="\\e";Ti[34]='\\"';Ti[92]="\\\\";Ti[133]="\\N";Ti[160]="\\_";Ti[8232]="\\L";Ti[8233]="\\P";var Dde=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function kde(r,e){var t,i,n,s,o,a,l;if(e===null)return{};for(t={},i=Object.keys(e),n=0,s=i.length;n0?r.charCodeAt(s-1):null,f=f&&pH(o,a)}else{for(s=0;si&&r[g+1]!==" ",g=s);else if(!Af(o))return _I;a=s>0?r.charCodeAt(s-1):null,f=f&&pH(o,a)}c=c||u&&s-g-1>i&&r[g+1]!==" "}return!l&&!c?f&&!n(r)?DH:kH:t>9&&PH(r)?_I:c?FH:RH}function Ode(r,e,t,i){r.dump=function(){if(e.length===0)return"''";if(!r.noCompatMode&&Dde.indexOf(e)!==-1)return"'"+e+"'";var n=r.indent*Math.max(1,t),s=r.lineWidth===-1?-1:Math.max(Math.min(r.lineWidth,40),r.lineWidth-n),o=i||r.flowLevel>-1&&t>=r.flowLevel;function a(l){return Fde(r,l)}switch(Lde(e,o,r.indent,s,a)){case DH:return e;case kH:return"'"+e.replace(/'/g,"''")+"'";case RH:return"|"+dH(e,r.indent)+CH(hH(e,n));case FH:return">"+dH(e,r.indent)+CH(hH(Mde(e,s),n));case _I:return'"'+Ude(e,s)+'"';default:throw new Bd("impossible error: invalid scalar style")}}()}function dH(r,e){var t=PH(r)?String(e):"",i=r[r.length-1]===` -`,n=i&&(r[r.length-2]===` -`||r===` -`),s=n?"+":i?"":"-";return t+s+` -`}function CH(r){return r[r.length-1]===` -`?r.slice(0,-1):r}function Mde(r,e){for(var t=/(\n+)([^\n]*)/g,i=function(){var c=r.indexOf(` -`);return c=c!==-1?c:r.length,t.lastIndex=c,mH(r.slice(0,c),e)}(),n=r[0]===` -`||r[0]===" ",s,o;o=t.exec(r);){var a=o[1],l=o[2];s=l[0]===" ",i+=a+(!n&&!s&&l!==""?` -`:"")+mH(l,e),n=s}return i}function mH(r,e){if(r===""||r[0]===" ")return r;for(var t=/ [^ ]/g,i,n=0,s,o=0,a=0,l="";i=t.exec(r);)a=i.index,a-n>e&&(s=o>n?o:a,l+=` -`+r.slice(n,s),n=s+1),o=a;return l+=` -`,r.length-n>e&&o>n?l+=r.slice(n,o)+` -`+r.slice(o+1):l+=r.slice(n),l.slice(1)}function Ude(r){for(var e="",t,i,n,s=0;s=55296&&t<=56319&&(i=r.charCodeAt(s+1),i>=56320&&i<=57343)){e+=fH((t-55296)*1024+i-56320+65536),s++;continue}n=Ti[t],e+=!n&&Af(t)?r[s]:n||fH(t)}return e}function Kde(r,e,t){var i="",n=r.tag,s,o;for(s=0,o=t.length;s1024&&(u+="? "),u+=r.dump+(r.condenseFlow?'"':"")+":"+(r.condenseFlow?"":" "),Ic(r,e,c,!1,!1)&&(u+=r.dump,i+=u));r.tag=n,r.dump="{"+i+"}"}function Yde(r,e,t,i){var n="",s=r.tag,o=Object.keys(t),a,l,c,u,g,f;if(r.sortKeys===!0)o.sort();else if(typeof r.sortKeys=="function")o.sort(r.sortKeys);else if(r.sortKeys)throw new Bd("sortKeys must be a boolean or a function");for(a=0,l=o.length;a1024,g&&(r.dump&&yd===r.dump.charCodeAt(0)?f+="?":f+="? "),f+=r.dump,g&&(f+=Dv(r,e)),Ic(r,e+1,u,!0,g)&&(r.dump&&yd===r.dump.charCodeAt(0)?f+=":":f+=": ",f+=r.dump,n+=f));r.tag=s,r.dump=n||"{}"}function EH(r,e,t){var i,n,s,o,a,l;for(n=t?r.explicitTypes:r.implicitTypes,s=0,o=n.length;s tag resolver accepts not "'+l+'" style');r.dump=i}return!0}return!1}function Ic(r,e,t,i,n,s){r.tag=null,r.dump=t,EH(r,t,!1)||EH(r,t,!0);var o=IH.call(r.dump);i&&(i=r.flowLevel<0||r.flowLevel>e);var a=o==="[object Object]"||o==="[object Array]",l,c;if(a&&(l=r.duplicates.indexOf(t),c=l!==-1),(r.tag!==null&&r.tag!=="?"||c||r.indent!==2&&e>0)&&(n=!1),c&&r.usedDuplicates[l])r.dump="*ref_"+l;else{if(a&&c&&!r.usedDuplicates[l]&&(r.usedDuplicates[l]=!0),o==="[object Object]")i&&Object.keys(r.dump).length!==0?(Yde(r,e,r.dump,n),c&&(r.dump="&ref_"+l+r.dump)):(Gde(r,e,r.dump),c&&(r.dump="&ref_"+l+" "+r.dump));else if(o==="[object Array]"){var u=r.noArrayIndent&&e>0?e-1:e;i&&r.dump.length!==0?(Hde(r,u,r.dump,n),c&&(r.dump="&ref_"+l+r.dump)):(Kde(r,u,r.dump),c&&(r.dump="&ref_"+l+" "+r.dump))}else if(o==="[object String]")r.tag!=="?"&&Ode(r,r.dump,e,s);else{if(r.skipInvalid)return!1;throw new Bd("unacceptable kind of an object to dump "+o)}r.tag!==null&&r.tag!=="?"&&(r.dump="!<"+r.tag+"> "+r.dump)}return!0}function jde(r,e){var t=[],i=[],n,s;for(kv(r,t,i),n=0,s=i.length;n{"use strict";var ZI=gH(),LH=TH();function $I(r){return function(){throw new Error("Function "+r+" is deprecated and cannot be used.")}}Tr.exports.Type=Ai();Tr.exports.Schema=dc();Tr.exports.FAILSAFE_SCHEMA=qI();Tr.exports.JSON_SCHEMA=bv();Tr.exports.CORE_SCHEMA=Qv();Tr.exports.DEFAULT_SAFE_SCHEMA=nf();Tr.exports.DEFAULT_FULL_SCHEMA=Ed();Tr.exports.load=ZI.load;Tr.exports.loadAll=ZI.loadAll;Tr.exports.safeLoad=ZI.safeLoad;Tr.exports.safeLoadAll=ZI.safeLoadAll;Tr.exports.dump=LH.dump;Tr.exports.safeDump=LH.safeDump;Tr.exports.YAMLException=tf();Tr.exports.MINIMAL_SCHEMA=qI();Tr.exports.SAFE_SCHEMA=nf();Tr.exports.DEFAULT_SCHEMA=Ed();Tr.exports.scan=$I("scan");Tr.exports.parse=$I("parse");Tr.exports.compose=$I("compose");Tr.exports.addConstructor=$I("addConstructor")});var UH=y((d$e,MH)=>{"use strict";var Jde=OH();MH.exports=Jde});var HH=y((C$e,KH)=>{"use strict";function Wde(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function yc(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,yc)}Wde(yc,Error);yc.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g({[Ne]:pe})))},H=function(R){return R},j=function(R){return R},$=Ms("correct indentation"),V=" ",W=ar(" ",!1),Z=function(R){return R.length===vA*Gg},A=function(R){return R.length===(vA+1)*Gg},ae=function(){return vA++,!0},ge=function(){return vA--,!0},_=function(){return Lg()},L=Ms("pseudostring"),N=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,ue=Fn(["\r",` -`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),we=/^[^\r\n\t ,\][{}:#"']/,Te=Fn(["\r",` -`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),Pe=function(){return Lg().replace(/^ *| *$/g,"")},Le="--",se=ar("--",!1),Ae=/^[a-zA-Z\/0-9]/,be=Fn([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),fe=/^[^\r\n\t :,]/,le=Fn(["\r",` -`," "," ",":",","],!0,!1),Ge="null",ie=ar("null",!1),Y=function(){return null},he="true",re=ar("true",!1),me=function(){return!0},tt="false",Rt=ar("false",!1),It=function(){return!1},Ur=Ms("string"),oi='"',pi=ar('"',!1),pr=function(){return""},di=function(R){return R},ai=function(R){return R.join("")},Os=/^[^"\\\0-\x1F\x7F]/,dr=Fn(['"',"\\",["\0",""],"\x7F"],!0,!1),Bi='\\"',_n=ar('\\"',!1),pa=function(){return'"'},EA="\\\\",kg=ar("\\\\",!1),Zn=function(){return"\\"},IA="\\/",da=ar("\\/",!1),Jp=function(){return"/"},yA="\\b",wA=ar("\\b",!1),Br=function(){return"\b"},Vl="\\f",Rg=ar("\\f",!1),Eo=function(){return"\f"},Fg="\\n",Wp=ar("\\n",!1),zp=function(){return` -`},Pr="\\r",oe=ar("\\r",!1),Io=function(){return"\r"},kn="\\t",Ng=ar("\\t",!1),bt=function(){return" "},Xl="\\u",Rn=ar("\\u",!1),$n=function(R,q,pe,Ne){return String.fromCharCode(parseInt(`0x${R}${q}${pe}${Ne}`))},es=/^[0-9a-fA-F]/,ut=Fn([["0","9"],["a","f"],["A","F"]],!1,!1),yo=Ms("blank space"),at=/^[ \t]/,ln=Fn([" "," "],!1,!1),S=Ms("white space"),Lt=/^[ \t\n\r]/,Tg=Fn([" "," ",` -`,"\r"],!1,!1),_l=`\r -`,Vp=ar(`\r -`,!1),Xp=` -`,_p=ar(` -`,!1),Zp="\r",$p=ar("\r",!1),G=0,yt=0,BA=[{line:1,column:1}],Wi=0,Zl=[],We=0,Ca;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function Lg(){return r.substring(yt,G)}function uI(){return cn(yt,G)}function ed(R,q){throw q=q!==void 0?q:cn(yt,G),ec([Ms(R)],r.substring(yt,G),q)}function gI(R,q){throw q=q!==void 0?q:cn(yt,G),Og(R,q)}function ar(R,q){return{type:"literal",text:R,ignoreCase:q}}function Fn(R,q,pe){return{type:"class",parts:R,inverted:q,ignoreCase:pe}}function $l(){return{type:"any"}}function td(){return{type:"end"}}function Ms(R){return{type:"other",description:R}}function ma(R){var q=BA[R],pe;if(q)return q;for(pe=R-1;!BA[pe];)pe--;for(q=BA[pe],q={line:q.line,column:q.column};peWi&&(Wi=G,Zl=[]),Zl.push(R))}function Og(R,q){return new yc(R,null,null,q)}function ec(R,q,pe){return new yc(yc.buildMessage(R,q),R,q,pe)}function Us(){var R;return R=Mg(),R}function tc(){var R,q,pe;for(R=G,q=[],pe=bA();pe!==t;)q.push(pe),pe=bA();return q!==t&&(yt=R,q=s(q)),R=q,R}function bA(){var R,q,pe,Ne,xe;return R=G,q=Ia(),q!==t?(r.charCodeAt(G)===45?(pe=o,G++):(pe=t,We===0&&ke(a)),pe!==t?(Ne=Nr(),Ne!==t?(xe=Ea(),xe!==t?(yt=R,q=l(xe),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R}function Mg(){var R,q,pe;for(R=G,q=[],pe=Ug();pe!==t;)q.push(pe),pe=Ug();return q!==t&&(yt=R,q=c(q)),R=q,R}function Ug(){var R,q,pe,Ne,xe,qe,dt,Ft,Nn;if(R=G,q=Nr(),q===t&&(q=null),q!==t){if(pe=G,r.charCodeAt(G)===35?(Ne=u,G++):(Ne=t,We===0&&ke(g)),Ne!==t){if(xe=[],qe=G,dt=G,We++,Ft=Gs(),We--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,We===0&&ke(f)),Ft!==t?(dt=[dt,Ft],qe=dt):(G=qe,qe=t)):(G=qe,qe=t),qe!==t)for(;qe!==t;)xe.push(qe),qe=G,dt=G,We++,Ft=Gs(),We--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,We===0&&ke(f)),Ft!==t?(dt=[dt,Ft],qe=dt):(G=qe,qe=t)):(G=qe,qe=t);else xe=t;xe!==t?(Ne=[Ne,xe],pe=Ne):(G=pe,pe=t)}else G=pe,pe=t;if(pe===t&&(pe=null),pe!==t){if(Ne=[],xe=Hs(),xe!==t)for(;xe!==t;)Ne.push(xe),xe=Hs();else Ne=t;Ne!==t?(yt=R,q=h(),R=q):(G=R,R=t)}else G=R,R=t}else G=R,R=t;if(R===t&&(R=G,q=Ia(),q!==t?(pe=rc(),pe!==t?(Ne=Nr(),Ne===t&&(Ne=null),Ne!==t?(r.charCodeAt(G)===58?(xe=p,G++):(xe=t,We===0&&ke(C)),xe!==t?(qe=Nr(),qe===t&&(qe=null),qe!==t?(dt=Ea(),dt!==t?(yt=R,q=w(pe,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=Ia(),q!==t?(pe=Ks(),pe!==t?(Ne=Nr(),Ne===t&&(Ne=null),Ne!==t?(r.charCodeAt(G)===58?(xe=p,G++):(xe=t,We===0&&ke(C)),xe!==t?(qe=Nr(),qe===t&&(qe=null),qe!==t?(dt=Ea(),dt!==t?(yt=R,q=w(pe,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))){if(R=G,q=Ia(),q!==t)if(pe=Ks(),pe!==t)if(Ne=Nr(),Ne!==t)if(xe=fI(),xe!==t){if(qe=[],dt=Hs(),dt!==t)for(;dt!==t;)qe.push(dt),dt=Hs();else qe=t;qe!==t?(yt=R,q=w(pe,xe),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;else G=R,R=t;else G=R,R=t;if(R===t)if(R=G,q=Ia(),q!==t)if(pe=Ks(),pe!==t){if(Ne=[],xe=G,qe=Nr(),qe===t&&(qe=null),qe!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,We===0&&ke(v)),dt!==t?(Ft=Nr(),Ft===t&&(Ft=null),Ft!==t?(Nn=Ks(),Nn!==t?(yt=xe,qe=D(pe,Nn),xe=qe):(G=xe,xe=t)):(G=xe,xe=t)):(G=xe,xe=t)):(G=xe,xe=t),xe!==t)for(;xe!==t;)Ne.push(xe),xe=G,qe=Nr(),qe===t&&(qe=null),qe!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,We===0&&ke(v)),dt!==t?(Ft=Nr(),Ft===t&&(Ft=null),Ft!==t?(Nn=Ks(),Nn!==t?(yt=xe,qe=D(pe,Nn),xe=qe):(G=xe,xe=t)):(G=xe,xe=t)):(G=xe,xe=t)):(G=xe,xe=t);else Ne=t;Ne!==t?(xe=Nr(),xe===t&&(xe=null),xe!==t?(r.charCodeAt(G)===58?(qe=p,G++):(qe=t,We===0&&ke(C)),qe!==t?(dt=Nr(),dt===t&&(dt=null),dt!==t?(Ft=Ea(),Ft!==t?(yt=R,q=T(pe,Ne,Ft),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)}else G=R,R=t;else G=R,R=t}return R}function Ea(){var R,q,pe,Ne,xe,qe,dt;if(R=G,q=G,We++,pe=G,Ne=Gs(),Ne!==t?(xe=$e(),xe!==t?(r.charCodeAt(G)===45?(qe=o,G++):(qe=t,We===0&&ke(a)),qe!==t?(dt=Nr(),dt!==t?(Ne=[Ne,xe,qe,dt],pe=Ne):(G=pe,pe=t)):(G=pe,pe=t)):(G=pe,pe=t)):(G=pe,pe=t),We--,pe!==t?(G=q,q=void 0):q=t,q!==t?(pe=Hs(),pe!==t?(Ne=wo(),Ne!==t?(xe=tc(),xe!==t?(qe=QA(),qe!==t?(yt=R,q=H(xe),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=Gs(),q!==t?(pe=wo(),pe!==t?(Ne=Mg(),Ne!==t?(xe=QA(),xe!==t?(yt=R,q=H(Ne),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))if(R=G,q=ic(),q!==t){if(pe=[],Ne=Hs(),Ne!==t)for(;Ne!==t;)pe.push(Ne),Ne=Hs();else pe=t;pe!==t?(yt=R,q=j(q),R=q):(G=R,R=t)}else G=R,R=t;return R}function Ia(){var R,q,pe;for(We++,R=G,q=[],r.charCodeAt(G)===32?(pe=V,G++):(pe=t,We===0&&ke(W));pe!==t;)q.push(pe),r.charCodeAt(G)===32?(pe=V,G++):(pe=t,We===0&&ke(W));return q!==t?(yt=G,pe=Z(q),pe?pe=void 0:pe=t,pe!==t?(q=[q,pe],R=q):(G=R,R=t)):(G=R,R=t),We--,R===t&&(q=t,We===0&&ke($)),R}function $e(){var R,q,pe;for(R=G,q=[],r.charCodeAt(G)===32?(pe=V,G++):(pe=t,We===0&&ke(W));pe!==t;)q.push(pe),r.charCodeAt(G)===32?(pe=V,G++):(pe=t,We===0&&ke(W));return q!==t?(yt=G,pe=A(q),pe?pe=void 0:pe=t,pe!==t?(q=[q,pe],R=q):(G=R,R=t)):(G=R,R=t),R}function wo(){var R;return yt=G,R=ae(),R?R=void 0:R=t,R}function QA(){var R;return yt=G,R=ge(),R?R=void 0:R=t,R}function rc(){var R;return R=nc(),R===t&&(R=rd()),R}function Ks(){var R,q,pe;if(R=nc(),R===t){if(R=G,q=[],pe=Kg(),pe!==t)for(;pe!==t;)q.push(pe),pe=Kg();else q=t;q!==t&&(yt=R,q=_()),R=q}return R}function ic(){var R;return R=id(),R===t&&(R=hI(),R===t&&(R=nc(),R===t&&(R=rd()))),R}function fI(){var R;return R=id(),R===t&&(R=nc(),R===t&&(R=Kg())),R}function rd(){var R,q,pe,Ne,xe,qe;if(We++,R=G,N.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,We===0&&ke(ue)),q!==t){for(pe=[],Ne=G,xe=Nr(),xe===t&&(xe=null),xe!==t?(we.test(r.charAt(G))?(qe=r.charAt(G),G++):(qe=t,We===0&&ke(Te)),qe!==t?(xe=[xe,qe],Ne=xe):(G=Ne,Ne=t)):(G=Ne,Ne=t);Ne!==t;)pe.push(Ne),Ne=G,xe=Nr(),xe===t&&(xe=null),xe!==t?(we.test(r.charAt(G))?(qe=r.charAt(G),G++):(qe=t,We===0&&ke(Te)),qe!==t?(xe=[xe,qe],Ne=xe):(G=Ne,Ne=t)):(G=Ne,Ne=t);pe!==t?(yt=R,q=Pe(),R=q):(G=R,R=t)}else G=R,R=t;return We--,R===t&&(q=t,We===0&&ke(L)),R}function Kg(){var R,q,pe,Ne,xe;if(R=G,r.substr(G,2)===Le?(q=Le,G+=2):(q=t,We===0&&ke(se)),q===t&&(q=null),q!==t)if(Ae.test(r.charAt(G))?(pe=r.charAt(G),G++):(pe=t,We===0&&ke(be)),pe!==t){for(Ne=[],fe.test(r.charAt(G))?(xe=r.charAt(G),G++):(xe=t,We===0&&ke(le));xe!==t;)Ne.push(xe),fe.test(r.charAt(G))?(xe=r.charAt(G),G++):(xe=t,We===0&&ke(le));Ne!==t?(yt=R,q=Pe(),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;return R}function id(){var R,q;return R=G,r.substr(G,4)===Ge?(q=Ge,G+=4):(q=t,We===0&&ke(ie)),q!==t&&(yt=R,q=Y()),R=q,R}function hI(){var R,q;return R=G,r.substr(G,4)===he?(q=he,G+=4):(q=t,We===0&&ke(re)),q!==t&&(yt=R,q=me()),R=q,R===t&&(R=G,r.substr(G,5)===tt?(q=tt,G+=5):(q=t,We===0&&ke(Rt)),q!==t&&(yt=R,q=It()),R=q),R}function nc(){var R,q,pe,Ne;return We++,R=G,r.charCodeAt(G)===34?(q=oi,G++):(q=t,We===0&&ke(pi)),q!==t?(r.charCodeAt(G)===34?(pe=oi,G++):(pe=t,We===0&&ke(pi)),pe!==t?(yt=R,q=pr(),R=q):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,r.charCodeAt(G)===34?(q=oi,G++):(q=t,We===0&&ke(pi)),q!==t?(pe=pI(),pe!==t?(r.charCodeAt(G)===34?(Ne=oi,G++):(Ne=t,We===0&&ke(pi)),Ne!==t?(yt=R,q=di(pe),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)),We--,R===t&&(q=t,We===0&&ke(Ur)),R}function pI(){var R,q,pe;if(R=G,q=[],pe=Hg(),pe!==t)for(;pe!==t;)q.push(pe),pe=Hg();else q=t;return q!==t&&(yt=R,q=ai(q)),R=q,R}function Hg(){var R,q,pe,Ne,xe,qe;return Os.test(r.charAt(G))?(R=r.charAt(G),G++):(R=t,We===0&&ke(dr)),R===t&&(R=G,r.substr(G,2)===Bi?(q=Bi,G+=2):(q=t,We===0&&ke(_n)),q!==t&&(yt=R,q=pa()),R=q,R===t&&(R=G,r.substr(G,2)===EA?(q=EA,G+=2):(q=t,We===0&&ke(kg)),q!==t&&(yt=R,q=Zn()),R=q,R===t&&(R=G,r.substr(G,2)===IA?(q=IA,G+=2):(q=t,We===0&&ke(da)),q!==t&&(yt=R,q=Jp()),R=q,R===t&&(R=G,r.substr(G,2)===yA?(q=yA,G+=2):(q=t,We===0&&ke(wA)),q!==t&&(yt=R,q=Br()),R=q,R===t&&(R=G,r.substr(G,2)===Vl?(q=Vl,G+=2):(q=t,We===0&&ke(Rg)),q!==t&&(yt=R,q=Eo()),R=q,R===t&&(R=G,r.substr(G,2)===Fg?(q=Fg,G+=2):(q=t,We===0&&ke(Wp)),q!==t&&(yt=R,q=zp()),R=q,R===t&&(R=G,r.substr(G,2)===Pr?(q=Pr,G+=2):(q=t,We===0&&ke(oe)),q!==t&&(yt=R,q=Io()),R=q,R===t&&(R=G,r.substr(G,2)===kn?(q=kn,G+=2):(q=t,We===0&&ke(Ng)),q!==t&&(yt=R,q=bt()),R=q,R===t&&(R=G,r.substr(G,2)===Xl?(q=Xl,G+=2):(q=t,We===0&&ke(Rn)),q!==t?(pe=SA(),pe!==t?(Ne=SA(),Ne!==t?(xe=SA(),xe!==t?(qe=SA(),qe!==t?(yt=R,q=$n(pe,Ne,xe,qe),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)))))))))),R}function SA(){var R;return es.test(r.charAt(G))?(R=r.charAt(G),G++):(R=t,We===0&&ke(ut)),R}function Nr(){var R,q;if(We++,R=[],at.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,We===0&&ke(ln)),q!==t)for(;q!==t;)R.push(q),at.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,We===0&&ke(ln));else R=t;return We--,R===t&&(q=t,We===0&&ke(yo)),R}function dI(){var R,q;if(We++,R=[],Lt.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,We===0&&ke(Tg)),q!==t)for(;q!==t;)R.push(q),Lt.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,We===0&&ke(Tg));else R=t;return We--,R===t&&(q=t,We===0&&ke(S)),R}function Hs(){var R,q,pe,Ne,xe,qe;if(R=G,q=Gs(),q!==t){for(pe=[],Ne=G,xe=Nr(),xe===t&&(xe=null),xe!==t?(qe=Gs(),qe!==t?(xe=[xe,qe],Ne=xe):(G=Ne,Ne=t)):(G=Ne,Ne=t);Ne!==t;)pe.push(Ne),Ne=G,xe=Nr(),xe===t&&(xe=null),xe!==t?(qe=Gs(),qe!==t?(xe=[xe,qe],Ne=xe):(G=Ne,Ne=t)):(G=Ne,Ne=t);pe!==t?(q=[q,pe],R=q):(G=R,R=t)}else G=R,R=t;return R}function Gs(){var R;return r.substr(G,2)===_l?(R=_l,G+=2):(R=t,We===0&&ke(Vp)),R===t&&(r.charCodeAt(G)===10?(R=Xp,G++):(R=t,We===0&&ke(_p)),R===t&&(r.charCodeAt(G)===13?(R=Zp,G++):(R=t,We===0&&ke($p)))),R}let Gg=2,vA=0;if(Ca=n(),Ca!==t&&G===r.length)return Ca;throw Ca!==t&&G{"use strict";var $de=r=>{let e=!1,t=!1,i=!1;for(let n=0;n{if(!(typeof r=="string"||Array.isArray(r)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let t=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(r)?r=r.map(n=>n.trim()).filter(n=>n.length).join("-"):r=r.trim(),r.length===0?"":r.length===1?e.pascalCase?r.toUpperCase():r.toLowerCase():(r!==r.toLowerCase()&&(r=$de(r)),r=r.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),t(r))};Tv.exports=JH;Tv.exports.default=JH});var zH=y((B$e,eCe)=>{eCe.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var wc=y(Mn=>{"use strict";var XH=zH(),vo=process.env;Object.defineProperty(Mn,"_vendors",{value:XH.map(function(r){return r.constant})});Mn.name=null;Mn.isPR=null;XH.forEach(function(r){let t=(Array.isArray(r.env)?r.env:[r.env]).every(function(i){return VH(i)});if(Mn[r.constant]=t,t)switch(Mn.name=r.name,typeof r.pr){case"string":Mn.isPR=!!vo[r.pr];break;case"object":"env"in r.pr?Mn.isPR=r.pr.env in vo&&vo[r.pr.env]!==r.pr.ne:"any"in r.pr?Mn.isPR=r.pr.any.some(function(i){return!!vo[i]}):Mn.isPR=VH(r.pr);break;default:Mn.isPR=null}});Mn.isCI=!!(vo.CI||vo.CONTINUOUS_INTEGRATION||vo.BUILD_NUMBER||vo.RUN_ID||Mn.name);function VH(r){return typeof r=="string"?!!vo[r]:Object.keys(r).every(function(e){return vo[e]===r[e]})}});var ry=y(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});var tCe=0,rCe=1,iCe=2,nCe="",sCe="\0",oCe=-1,aCe=/^(-h|--help)(?:=([0-9]+))?$/,ACe=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,lCe=/^-[a-zA-Z]{2,}$/,cCe=/^([^=]+)=([\s\S]*)$/,uCe=process.env.DEBUG_CLI==="1";Un.BATCH_REGEX=lCe;Un.BINDING_REGEX=cCe;Un.DEBUG=uCe;Un.END_OF_INPUT=sCe;Un.HELP_COMMAND_INDEX=oCe;Un.HELP_REGEX=aCe;Un.NODE_ERRORED=iCe;Un.NODE_INITIAL=tCe;Un.NODE_SUCCESS=rCe;Un.OPTION_REGEX=ACe;Un.START_OF_INPUT=nCe});var iy=y(Qd=>{"use strict";Object.defineProperty(Qd,"__esModule",{value:!0});var gCe=ry(),Lv=class extends Error{constructor(e){super(e),this.clipanion={type:"usage"},this.name="UsageError"}},Ov=class extends Error{constructor(e,t){if(super(),this.input=e,this.candidates=t,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(i=>i.reason!==null&&i.reason===t[0].reason)){let[{reason:i}]=this.candidates;this.message=`${i} - -${this.candidates.map(({usage:n})=>`$ ${n}`).join(` -`)}`}else if(this.candidates.length===1){let[{usage:i}]=this.candidates;this.message=`Command not found; did you mean: - -$ ${i} -${Uv(e)}`}else this.message=`Command not found; did you mean one of: - -${this.candidates.map(({usage:i},n)=>`${`${n}.`.padStart(4)} ${i}`).join(` -`)} - -${Uv(e)}`}},Mv=class extends Error{constructor(e,t){super(),this.input=e,this.usages=t,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: - -${this.usages.map((i,n)=>`${`${n}.`.padStart(4)} ${i}`).join(` -`)} - -${Uv(e)}`}},Uv=r=>`While running ${r.filter(e=>e!==gCe.END_OF_INPUT).map(e=>{let t=JSON.stringify(e);return e.match(/\s/)||e.length===0||t!==`"${e}"`?t:e}).join(" ")}`;Qd.AmbiguousSyntaxError=Mv;Qd.UnknownSyntaxError=Ov;Qd.UsageError=Lv});var va=y(TA=>{"use strict";Object.defineProperty(TA,"__esModule",{value:!0});var _H=iy(),ZH=Symbol("clipanion/isOption");function fCe(r){return{...r,[ZH]:!0}}function hCe(r,e){return typeof r>"u"?[r,e]:typeof r=="object"&&r!==null&&!Array.isArray(r)?[void 0,r]:[r,e]}function Kv(r,e=!1){let t=r.replace(/^\.: /,"");return e&&(t=t[0].toLowerCase()+t.slice(1)),t}function $H(r,e){return e.length===1?new _H.UsageError(`${r}: ${Kv(e[0],!0)}`):new _H.UsageError(`${r}: -${e.map(t=>` -- ${Kv(t)}`).join("")}`)}function pCe(r,e,t){if(typeof t>"u")return e;let i=[],n=[],s=a=>{let l=e;return e=a,s.bind(null,l)};if(!t(e,{errors:i,coercions:n,coercion:s}))throw $H(`Invalid value for ${r}`,i);for(let[,a]of n)a();return e}TA.applyValidator=pCe;TA.cleanValidationError=Kv;TA.formatError=$H;TA.isOptionSymbol=ZH;TA.makeCommandOption=fCe;TA.rerouteArguments=hCe});var ns=y(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});var eG=/^[a-zA-Z_][a-zA-Z0-9_]*$/,tG=/^#[0-9a-f]{6}$/i,rG=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,iG=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,nG=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,Hv=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,sG=r=>()=>r;function Qt({test:r}){return sG(r)()}function Zr(r){return r===null?"null":r===void 0?"undefined":r===""?"an empty string":JSON.stringify(r)}function LA(r,e){var t,i,n;return typeof e=="number"?`${(t=r==null?void 0:r.p)!==null&&t!==void 0?t:"."}[${e}]`:eG.test(e)?`${(i=r==null?void 0:r.p)!==null&&i!==void 0?i:""}.${e}`:`${(n=r==null?void 0:r.p)!==null&&n!==void 0?n:"."}[${JSON.stringify(e)}]`}function Bc(r,e){return t=>{let i=r[e];return r[e]=t,Bc(r,e).bind(null,i)}}function oG(r,e){return t=>{r[e]=t}}function ny(r,e,t){return r===1?e:t}function pt({errors:r,p:e}={},t){return r==null||r.push(`${e!=null?e:"."}: ${t}`),!1}var aG=()=>Qt({test:(r,e)=>!0});function dCe(r){return Qt({test:(e,t)=>e!==r?pt(t,`Expected a literal (got ${Zr(r)})`):!0})}var CCe=()=>Qt({test:(r,e)=>typeof r!="string"?pt(e,`Expected a string (got ${Zr(r)})`):!0});function mCe(r){let e=Array.isArray(r)?r:Object.values(r),t=new Set(e);return Qt({test:(i,n)=>t.has(i)?!0:pt(n,`Expected a valid enumeration value (got ${Zr(i)})`)})}var ECe=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),ICe=()=>Qt({test:(r,e)=>{var t;if(typeof r!="boolean"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i=ECe.get(r);if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a boolean (got ${Zr(r)})`)}return!0}}),yCe=()=>Qt({test:(r,e)=>{var t;if(typeof r!="number"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i;if(typeof r=="string"){let n;try{n=JSON.parse(r)}catch{}if(typeof n=="number")if(JSON.stringify(n)===r)i=n;else return pt(e,`Received a number that can't be safely represented by the runtime (${r})`)}if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a number (got ${Zr(r)})`)}return!0}}),wCe=()=>Qt({test:(r,e)=>{var t;if(!(r instanceof Date)){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i;if(typeof r=="string"&&Hv.test(r))i=new Date(r);else{let n;if(typeof r=="string"){let s;try{s=JSON.parse(r)}catch{}typeof s=="number"&&(n=s)}else typeof r=="number"&&(n=r);if(typeof n<"u")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return pt(e,`Received a timestamp that can't be safely represented by the runtime (${r})`)}if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a date (got ${Zr(r)})`)}return!0}}),BCe=(r,{delimiter:e}={})=>Qt({test:(t,i)=>{var n;if(typeof t=="string"&&typeof e<"u"&&typeof(i==null?void 0:i.coercions)<"u"){if(typeof(i==null?void 0:i.coercion)>"u")return pt(i,"Unbound coercion result");t=t.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,t)])}if(!Array.isArray(t))return pt(i,`Expected an array (got ${Zr(t)})`);let s=!0;for(let o=0,a=t.length;o{let t=AG(r.length);return Qt({test:(i,n)=>{var s;if(typeof i=="string"&&typeof e<"u"&&typeof(n==null?void 0:n.coercions)<"u"){if(typeof(n==null?void 0:n.coercion)>"u")return pt(n,"Unbound coercion result");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:".",n.coercion.bind(null,i)])}if(!Array.isArray(i))return pt(n,`Expected a tuple (got ${Zr(i)})`);let o=t(i,Object.assign({},n));for(let a=0,l=i.length;aQt({test:(t,i)=>{if(typeof t!="object"||t===null)return pt(i,`Expected an object (got ${Zr(t)})`);let n=Object.keys(t),s=!0;for(let o=0,a=n.length;o{let t=Object.keys(r);return Qt({test:(i,n)=>{if(typeof i!="object"||i===null)return pt(n,`Expected an object (got ${Zr(i)})`);let s=new Set([...t,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l==="constructor"||l==="__proto__")a=pt(Object.assign(Object.assign({},n),{p:LA(n,l)}),"Unsafe property name");else{let c=Object.prototype.hasOwnProperty.call(r,l)?r[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c<"u"?a=c(u,Object.assign(Object.assign({},n),{p:LA(n,l),coercion:Bc(i,l)}))&&a:e===null?a=pt(Object.assign(Object.assign({},n),{p:LA(n,l)}),`Extraneous property (got ${Zr(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:oG(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},vCe=r=>Qt({test:(e,t)=>e instanceof r?!0:pt(t,`Expected an instance of ${r.name} (got ${Zr(e)})`)}),xCe=(r,{exclusive:e=!1}={})=>Qt({test:(t,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)<"u"?[]:void 0;for(let c=0,u=r.length;c1?pt(i,`Expected to match exactly a single predicate (matched ${a.join(", ")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),PCe=(r,e)=>Qt({test:(t,i)=>{var n,s;let o={value:t},a=typeof(i==null?void 0:i.coercions)<"u"?Bc(o,"value"):void 0,l=typeof(i==null?void 0:i.coercions)<"u"?[]:void 0;if(!r(t,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l<"u")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)<"u"){if(o.value!==t){if(typeof(i==null?void 0:i.coercion)>"u")return pt(i,"Unbound coercion result");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),DCe=r=>Qt({test:(e,t)=>typeof e>"u"?!0:r(e,t)}),kCe=r=>Qt({test:(e,t)=>e===null?!0:r(e,t)}),RCe=r=>Qt({test:(e,t)=>e.length>=r?!0:pt(t,`Expected to have a length of at least ${r} elements (got ${e.length})`)}),FCe=r=>Qt({test:(e,t)=>e.length<=r?!0:pt(t,`Expected to have a length of at most ${r} elements (got ${e.length})`)}),AG=r=>Qt({test:(e,t)=>e.length!==r?pt(t,`Expected to have a length of exactly ${r} elements (got ${e.length})`):!0}),NCe=({map:r}={})=>Qt({test:(e,t)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;sQt({test:(r,e)=>r<=0?!0:pt(e,`Expected to be negative (got ${r})`)}),LCe=()=>Qt({test:(r,e)=>r>=0?!0:pt(e,`Expected to be positive (got ${r})`)}),OCe=r=>Qt({test:(e,t)=>e>=r?!0:pt(t,`Expected to be at least ${r} (got ${e})`)}),MCe=r=>Qt({test:(e,t)=>e<=r?!0:pt(t,`Expected to be at most ${r} (got ${e})`)}),UCe=(r,e)=>Qt({test:(t,i)=>t>=r&&t<=e?!0:pt(i,`Expected to be in the [${r}; ${e}] range (got ${t})`)}),KCe=(r,e)=>Qt({test:(t,i)=>t>=r&&tQt({test:(e,t)=>e!==Math.round(e)?pt(t,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:pt(t,`Expected to be a safe integer (got ${e})`)}),GCe=r=>Qt({test:(e,t)=>r.test(e)?!0:pt(t,`Expected to match the pattern ${r.toString()} (got ${Zr(e)})`)}),YCe=()=>Qt({test:(r,e)=>r!==r.toLowerCase()?pt(e,`Expected to be all-lowercase (got ${r})`):!0}),jCe=()=>Qt({test:(r,e)=>r!==r.toUpperCase()?pt(e,`Expected to be all-uppercase (got ${r})`):!0}),qCe=()=>Qt({test:(r,e)=>nG.test(r)?!0:pt(e,`Expected to be a valid UUID v4 (got ${Zr(r)})`)}),JCe=()=>Qt({test:(r,e)=>Hv.test(r)?!1:pt(e,`Expected to be a valid ISO 8601 date string (got ${Zr(r)})`)}),WCe=({alpha:r=!1})=>Qt({test:(e,t)=>(r?tG.test(e):rG.test(e))?!0:pt(t,`Expected to be a valid hexadecimal color string (got ${Zr(e)})`)}),zCe=()=>Qt({test:(r,e)=>iG.test(r)?!0:pt(e,`Expected to be a valid base 64 string (got ${Zr(r)})`)}),VCe=(r=aG())=>Qt({test:(e,t)=>{let i;try{i=JSON.parse(e)}catch{return pt(t,`Expected to be a valid JSON string (got ${Zr(e)})`)}return r(i,t)}}),XCe=r=>{let e=new Set(r);return Qt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?pt(i,`Missing required ${ny(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},_Ce=r=>{let e=new Set(r);return Qt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?pt(i,`Forbidden ${ny(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},ZCe=r=>{let e=new Set(r);return Qt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?pt(i,`Mutually exclusive properties ${s.map(o=>`"${o}"`).join(", ")}`):!0}})};(function(r){r.Forbids="Forbids",r.Requires="Requires"})(st.KeyRelationship||(st.KeyRelationship={}));var $Ce={[st.KeyRelationship.Forbids]:{expect:!1,message:"forbids using"},[st.KeyRelationship.Requires]:{expect:!0,message:"requires using"}},eme=(r,e,t,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(t),o=$Ce[e];return Qt({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(r)||n.has(a[r]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?pt(l,`Property "${r}" ${o.message} ${ny(u.length,"property","properties")} ${u.map(g=>`"${g}"`).join(", ")}`):!0}})};st.applyCascade=PCe;st.base64RegExp=iG;st.colorStringAlphaRegExp=rG;st.colorStringRegExp=tG;st.computeKey=LA;st.getPrintable=Zr;st.hasExactLength=AG;st.hasForbiddenKeys=_Ce;st.hasKeyRelationship=eme;st.hasMaxLength=FCe;st.hasMinLength=RCe;st.hasMutuallyExclusiveKeys=ZCe;st.hasRequiredKeys=XCe;st.hasUniqueItems=NCe;st.isArray=BCe;st.isAtLeast=OCe;st.isAtMost=MCe;st.isBase64=zCe;st.isBoolean=ICe;st.isDate=wCe;st.isDict=QCe;st.isEnum=mCe;st.isHexColor=WCe;st.isISO8601=JCe;st.isInExclusiveRange=KCe;st.isInInclusiveRange=UCe;st.isInstanceOf=vCe;st.isInteger=HCe;st.isJSON=VCe;st.isLiteral=dCe;st.isLowerCase=YCe;st.isNegative=TCe;st.isNullable=kCe;st.isNumber=yCe;st.isObject=SCe;st.isOneOf=xCe;st.isOptional=DCe;st.isPositive=LCe;st.isString=CCe;st.isTuple=bCe;st.isUUID4=qCe;st.isUnknown=aG;st.isUpperCase=jCe;st.iso8601RegExp=Hv;st.makeCoercionFn=Bc;st.makeSetter=oG;st.makeTrait=sG;st.makeValidator=Qt;st.matchesRegExp=GCe;st.plural=ny;st.pushError=pt;st.simpleKeyRegExp=eG;st.uuid4RegExp=nG});var bc=y(Gv=>{"use strict";Object.defineProperty(Gv,"__esModule",{value:!0});var lG=va();function tme(r){if(r&&r.__esModule)return r;var e=Object.create(null);return r&&Object.keys(r).forEach(function(t){if(t!=="default"){var i=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,i.get?i:{enumerable:!0,get:function(){return r[t]}})}}),e.default=r,Object.freeze(e)}var Sd=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let t=this.constructor.schema;if(Array.isArray(t)){let{isDict:n,isUnknown:s,applyCascade:o}=await Promise.resolve().then(function(){return tme(ns())}),a=o(n(s()),t),l=[],c=[];if(!a(this,{errors:l,coercions:c}))throw lG.formatError("Invalid option schema",l);for(let[,g]of c)g()}else if(t!=null)throw new Error("Invalid command schema");let i=await this.execute();return typeof i<"u"?i:0}};Sd.isOption=lG.isOptionSymbol;Sd.Default=[];Gv.Command=Sd});var jv=y(vd=>{"use strict";Object.defineProperty(vd,"__esModule",{value:!0});var cG=80,Yv=Array(cG).fill("\u2501");for(let r=0;r<=24;++r)Yv[Yv.length-r]=`\x1B[38;5;${232+r}m\u2501`;var rme={header:r=>`\x1B[1m\u2501\u2501\u2501 ${r}${r.length`\x1B[1m${r}\x1B[22m`,error:r=>`\x1B[31m\x1B[1m${r}\x1B[22m\x1B[39m`,code:r=>`\x1B[36m${r}\x1B[39m`},ime={header:r=>r,bold:r=>r,error:r=>r,code:r=>r};function nme(r){let e=r.split(` -`),t=e.filter(n=>n.match(/\S/)),i=t.length>0?t.reduce((n,s)=>Math.min(n,s.length-s.trimStart().length),Number.MAX_VALUE):0;return e.map(n=>n.slice(i).trimRight()).join(` -`)}function sme(r,{format:e,paragraphs:t}){return r=r.replace(/\r\n?/g,` -`),r=nme(r),r=r.replace(/^\n+|\n+$/g,""),r=r.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 - -`),r=r.replace(/\n(\n)?\n*/g,"$1"),t&&(r=r.split(/\n/).map(i=>{let n=i.match(/^\s*[*-][\t ]+(.*)/);if(!n)return i.match(/(.{1,80})(?: |$)/g).join(` -`);let s=i.length-i.trimStart().length;return n[1].match(new RegExp(`(.{1,${78-s}})(?: |$)`,"g")).map((o,a)=>" ".repeat(s)+(a===0?"- ":" ")+o).join(` -`)}).join(` - -`)),r=r.replace(/(`+)((?:.|[\n])*?)\1/g,(i,n,s)=>e.code(n+s+n)),r=r.replace(/(\*\*)((?:.|[\n])*?)\1/g,(i,n,s)=>e.bold(n+s+n)),r?`${r} -`:""}vd.formatMarkdownish=sme;vd.richFormat=rme;vd.textFormat=ime});var ly=y(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});var lt=ry(),ay=iy();function Vi(r){lt.DEBUG&&console.log(r)}var uG={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:lt.HELP_COMMAND_INDEX};function qv(){return{nodes:[Li(),Li(),Li()]}}function gG(r){let e=qv(),t=[],i=e.nodes.length;for(let n of r){t.push(i);for(let s=0;s{if(e.has(i))return;e.add(i);let n=r.nodes[i];for(let o of Object.values(n.statics))for(let{to:a}of o)t(a);for(let[,{to:o}]of n.dynamics)t(o);for(let{to:o}of n.shortcuts)t(o);let s=new Set(n.shortcuts.map(({to:o})=>o));for(;n.shortcuts.length>0;){let{to:o}=n.shortcuts.shift(),a=r.nodes[o];for(let[l,c]of Object.entries(a.statics)){let u=Object.prototype.hasOwnProperty.call(n.statics,l)?n.statics[l]:n.statics[l]=[];for(let g of c)u.some(({to:f})=>g.to===f)||u.push(g)}for(let[l,c]of a.dynamics)n.dynamics.some(([u,{to:g}])=>l===u&&c.to===g)||n.dynamics.push([l,c]);for(let l of a.shortcuts)s.has(l.to)||(n.shortcuts.push(l),s.add(l.to))}};t(lt.NODE_INITIAL)}function hG(r,{prefix:e=""}={}){if(lt.DEBUG){Vi(`${e}Nodes are:`);for(let t=0;tl!==lt.NODE_ERRORED).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(a.every(({node:l})=>l===lt.NODE_ERRORED))throw new ay.UnknownSyntaxError(e,a.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));i=pG(a)}if(i.length>0){Vi(" Results:");for(let s of i)Vi(` - ${s.node} -> ${JSON.stringify(s.state)}`)}else Vi(" No results");return i}function ome(r,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(r.statics,lt.END_OF_INPUT)){for(let{to:t}of r.statics[lt.END_OF_INPUT])if(t===lt.NODE_SUCCESS)return!0}return!1}function ame(r,e,t){let i=t&&e.length>0?[""]:[],n=Jv(r,e,t),s=[],o=new Set,a=(l,c,u=!0)=>{let g=[c];for(;g.length>0;){let h=g;g=[];for(let p of h){let C=r.nodes[p],w=Object.keys(C.statics);for(let B of Object.keys(C.statics)){let v=w[0];for(let{to:D,reducer:T}of C.statics[v])T==="pushPath"&&(u||l.push(v),g.push(D))}}u=!1}let f=JSON.stringify(l);o.has(f)||(s.push(l),o.add(f))};for(let{node:l,state:c}of n){if(c.remainder!==null){a([c.remainder],l);continue}let u=r.nodes[l],g=ome(u,c);for(let[f,h]of Object.entries(u.statics))(g&&f!==lt.END_OF_INPUT||!f.startsWith("-")&&h.some(({reducer:p})=>p==="pushPath"))&&a([...i,f],l);if(!!g)for(let[f,{to:h}]of u.dynamics){if(h===lt.NODE_ERRORED)continue;let p=IG(f,c);if(p!==null)for(let C of p)a([...i,C],l)}}return[...s].sort()}function Ame(r,e){let t=Jv(r,[...e,lt.END_OF_INPUT]);return dG(e,t.map(({state:i})=>i))}function pG(r){let e=0;for(let{state:t}of r)t.path.length>e&&(e=t.path.length);return r.filter(({state:t})=>t.path.length===e)}function dG(r,e){let t=e.filter(g=>g.selectedIndex!==null);if(t.length===0)throw new Error;let i=t.filter(g=>g.requiredOptions.every(f=>f.some(h=>g.options.find(p=>p.name===h))));if(i.length===0)throw new ay.UnknownSyntaxError(r,t.map(g=>({usage:g.candidateUsage,reason:null})));let n=0;for(let g of i)g.path.length>n&&(n=g.path.length);let s=i.filter(g=>g.path.length===n),o=g=>g.positionals.filter(({extra:f})=>!f).length+g.options.length,a=s.map(g=>({state:g,positionalCount:o(g)})),l=0;for(let{positionalCount:g}of a)g>l&&(l=g);let c=a.filter(({positionalCount:g})=>g===l).map(({state:g})=>g),u=CG(c);if(u.length>1)throw new ay.AmbiguousSyntaxError(r,u.map(g=>g.candidateUsage));return u[0]}function CG(r){let e=[],t=[];for(let i of r)i.selectedIndex===lt.HELP_COMMAND_INDEX?t.push(i):e.push(i);return t.length>0&&e.push({...uG,path:mG(...t.map(i=>i.path)),options:t.reduce((i,n)=>i.concat(n.options),[])}),e}function mG(r,e,...t){return e===void 0?Array.from(r):mG(r.filter((i,n)=>i===e[n]),...t)}function Li(){return{dynamics:[],shortcuts:[],statics:{}}}function Wv(r){return r===lt.NODE_SUCCESS||r===lt.NODE_ERRORED}function sy(r,e=0){return{to:Wv(r.to)?r.to:r.to>2?r.to+e-2:r.to+e,reducer:r.reducer}}function EG(r,e=0){let t=Li();for(let[i,n]of r.dynamics)t.dynamics.push([i,sy(n,e)]);for(let i of r.shortcuts)t.shortcuts.push(sy(i,e));for(let[i,n]of Object.entries(r.statics))t.statics[i]=n.map(s=>sy(s,e));return t}function Ei(r,e,t,i,n){r.nodes[e].dynamics.push([t,{to:i,reducer:n}])}function Qc(r,e,t,i){r.nodes[e].shortcuts.push({to:t,reducer:i})}function xo(r,e,t,i,n){(Object.prototype.hasOwnProperty.call(r.nodes[e].statics,t)?r.nodes[e].statics[t]:r.nodes[e].statics[t]=[]).push({to:i,reducer:n})}function xd(r,e,t,i){if(Array.isArray(e)){let[n,...s]=e;return r[n](t,i,...s)}else return r[e](t,i)}function IG(r,e){let t=Array.isArray(r)?Pd[r[0]]:Pd[r];if(typeof t.suggest>"u")return null;let i=Array.isArray(r)?r.slice(1):[];return t.suggest(e,...i)}var Pd={always:()=>!0,isOptionLike:(r,e)=>!r.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(r,e)=>r.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(r,e,t,i)=>!r.ignoreOptions&&e===t,isBatchOption:(r,e,t)=>!r.ignoreOptions&<.BATCH_REGEX.test(e)&&[...e.slice(1)].every(i=>t.includes(`-${i}`)),isBoundOption:(r,e,t,i)=>{let n=e.match(lt.BINDING_REGEX);return!r.ignoreOptions&&!!n&<.OPTION_REGEX.test(n[1])&&t.includes(n[1])&&i.filter(s=>s.names.includes(n[1])).every(s=>s.allowBinding)},isNegatedOption:(r,e,t)=>!r.ignoreOptions&&e===`--no-${t.slice(2)}`,isHelp:(r,e)=>!r.ignoreOptions&<.HELP_REGEX.test(e),isUnsupportedOption:(r,e,t)=>!r.ignoreOptions&&e.startsWith("-")&<.OPTION_REGEX.test(e)&&!t.includes(e),isInvalidOption:(r,e)=>!r.ignoreOptions&&e.startsWith("-")&&!lt.OPTION_REGEX.test(e)};Pd.isOption.suggest=(r,e,t=!0)=>t?null:[e];var oy={setCandidateState:(r,e,t)=>({...r,...t}),setSelectedIndex:(r,e,t)=>({...r,selectedIndex:t}),pushBatch:(r,e)=>({...r,options:r.options.concat([...e.slice(1)].map(t=>({name:`-${t}`,value:!0})))}),pushBound:(r,e)=>{let[,t,i]=e.match(lt.BINDING_REGEX);return{...r,options:r.options.concat({name:t,value:i})}},pushPath:(r,e)=>({...r,path:r.path.concat(e)}),pushPositional:(r,e)=>({...r,positionals:r.positionals.concat({value:e,extra:!1})}),pushExtra:(r,e)=>({...r,positionals:r.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(r,e)=>({...r,positionals:r.positionals.concat({value:e,extra:Po})}),pushTrue:(r,e,t=e)=>({...r,options:r.options.concat({name:e,value:!0})}),pushFalse:(r,e,t=e)=>({...r,options:r.options.concat({name:t,value:!1})}),pushUndefined:(r,e)=>({...r,options:r.options.concat({name:e,value:void 0})}),pushStringValue:(r,e)=>{var t;let i={...r,options:[...r.options]},n=r.options[r.options.length-1];return n.value=((t=n.value)!==null&&t!==void 0?t:[]).concat([e]),i},setStringValue:(r,e)=>{let t={...r,options:[...r.options]},i=r.options[r.options.length-1];return i.value=e,t},inhibateOptions:r=>({...r,ignoreOptions:!0}),useHelp:(r,e,t)=>{let[,,i]=e.match(lt.HELP_REGEX);return typeof i<"u"?{...r,options:[{name:"-c",value:String(t)},{name:"-i",value:i}]}:{...r,options:[{name:"-c",value:String(t)}]}},setError:(r,e,t)=>e===lt.END_OF_INPUT?{...r,errorMessage:`${t}.`}:{...r,errorMessage:`${t} ("${e}").`},setOptionArityError:(r,e)=>{let t=r.options[r.options.length-1];return{...r,errorMessage:`Not enough arguments to option ${t.name}.`}}},Po=Symbol(),Ay=class{constructor(e,t){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=t}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:t=this.arity.trailing,extra:i=this.arity.extra,proxy:n=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:t,extra:i,proxy:n})}addPositional({name:e="arg",required:t=!0}={}){if(!t&&this.arity.extra===Po)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!t&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!t&&this.arity.extra!==Po?this.arity.extra.push(e):this.arity.extra!==Po&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:t=0}={}){if(this.arity.extra===Po)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let i=0;i1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(i))throw new Error(`The arity must be an integer, got ${i}`);if(i<0)throw new Error(`The arity must be positive, got ${i}`);this.allOptionNames.push(...e),this.options.push({names:e,description:t,arity:i,hidden:n,required:s,allowBinding:o})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:t=!0}={}){let i=[this.cliOpts.binaryName],n=[];if(this.paths.length>0&&i.push(...this.paths[0]),e){for(let{names:o,arity:a,hidden:l,description:c,required:u}of this.options){if(l)continue;let g=[];for(let h=0;h`:`[${f}]`)}i.push(...this.arity.leading.map(o=>`<${o}>`)),this.arity.extra===Po?i.push("..."):i.push(...this.arity.extra.map(o=>`[${o}]`)),i.push(...this.arity.trailing.map(o=>`<${o}>`))}return{usage:i.join(" "),options:n}}compile(){if(typeof this.context>"u")throw new Error("Assertion failed: No context attached");let e=qv(),t=lt.NODE_INITIAL,i=this.usage().usage,n=this.options.filter(a=>a.required).map(a=>a.names);t=ss(e,Li()),xo(e,lt.NODE_INITIAL,lt.START_OF_INPUT,t,["setCandidateState",{candidateUsage:i,requiredOptions:n}]);let s=this.arity.proxy?"always":"isNotOptionLike",o=this.paths.length>0?this.paths:[[]];for(let a of o){let l=t;if(a.length>0){let f=ss(e,Li());Qc(e,l,f),this.registerOptions(e,f),l=f}for(let f=0;f0||!this.arity.proxy){let f=ss(e,Li());Ei(e,l,"isHelp",f,["useHelp",this.cliIndex]),xo(e,f,lt.END_OF_INPUT,lt.NODE_SUCCESS,["setSelectedIndex",lt.HELP_COMMAND_INDEX]),this.registerOptions(e,l)}this.arity.leading.length>0&&xo(e,l,lt.END_OF_INPUT,lt.NODE_ERRORED,["setError","Not enough positional arguments"]);let c=l;for(let f=0;f0||f+1!==this.arity.leading.length)&&xo(e,h,lt.END_OF_INPUT,lt.NODE_ERRORED,["setError","Not enough positional arguments"]),Ei(e,c,"isNotOptionLike",h,"pushPositional"),c=h}let u=c;if(this.arity.extra===Po||this.arity.extra.length>0){let f=ss(e,Li());if(Qc(e,c,f),this.arity.extra===Po){let h=ss(e,Li());this.arity.proxy||this.registerOptions(e,h),Ei(e,c,s,h,"pushExtraNoLimits"),Ei(e,h,s,h,"pushExtraNoLimits"),Qc(e,h,f)}else for(let h=0;h0&&xo(e,u,lt.END_OF_INPUT,lt.NODE_ERRORED,["setError","Not enough positional arguments"]);let g=u;for(let f=0;fo.length>s.length?o:s,"");if(i.arity===0)for(let s of i.names)Ei(e,t,["isOption",s,i.hidden||s!==n],t,"pushTrue"),s.startsWith("--")&&!s.startsWith("--no-")&&Ei(e,t,["isNegatedOption",s],t,["pushFalse",s]);else{let s=ss(e,Li());for(let o of i.names)Ei(e,t,["isOption",o,i.hidden||o!==n],s,"pushUndefined");for(let o=0;o=0&&eAme(i,n),suggest:(n,s)=>ame(i,n,s)}}};Ar.CliBuilder=Dd;Ar.CommandBuilder=Ay;Ar.NoLimits=Po;Ar.aggregateHelpStates=CG;Ar.cloneNode=EG;Ar.cloneTransition=sy;Ar.debug=Vi;Ar.debugMachine=hG;Ar.execute=xd;Ar.injectNode=ss;Ar.isTerminalNode=Wv;Ar.makeAnyOfMachine=gG;Ar.makeNode=Li;Ar.makeStateMachine=qv;Ar.reducers=oy;Ar.registerDynamic=Ei;Ar.registerShortcut=Qc;Ar.registerStatic=xo;Ar.runMachineInternal=Jv;Ar.selectBestState=dG;Ar.simplifyMachine=fG;Ar.suggest=IG;Ar.tests=Pd;Ar.trimSmallerBranches=pG});var yG=y(zv=>{"use strict";Object.defineProperty(zv,"__esModule",{value:!0});var lme=bc(),kd=class extends lme.Command{constructor(e){super(),this.contexts=e,this.commands=[]}static from(e,t){let i=new kd(t);i.path=e.path;for(let n of e.options)switch(n.name){case"-c":i.commands.push(Number(n.value));break;case"-i":i.index=Number(n.value);break}return i}async execute(){let e=this.commands;if(typeof this.index<"u"&&this.index>=0&&this.index1){this.context.stdout.write(`Multiple commands match your selection: -`),this.context.stdout.write(` -`);let t=0;for(let i of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[i].commandClass,{prefix:`${t++}. `.padStart(5)}));this.context.stdout.write(` -`),this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. -`)}}};zv.HelpCommand=kd});var vG=y(Vv=>{"use strict";Object.defineProperty(Vv,"__esModule",{value:!0});var cme=ry(),wG=bc(),ume=J("tty"),gme=ly(),hn=jv(),fme=yG();function hme(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var BG=hme(ume),bG=Symbol("clipanion/errorCommand");function pme(){return process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout<"u"&&process.stdout.isTTY?8:1}var OA=class{constructor({binaryLabel:e,binaryName:t="...",binaryVersion:i,enableCapture:n=!1,enableColors:s}={}){this.registrations=new Map,this.builder=new gme.CliBuilder({binaryName:t}),this.binaryLabel=e,this.binaryName=t,this.binaryVersion=i,this.enableCapture=n,this.enableColors=s}static from(e,t={}){let i=new OA(t);for(let n of e)i.register(n);return i}register(e){var t;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c=="object"&&c!==null&&c[wG.Command.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(t=e.paths)!==null&&t!==void 0?t:n.paths;if(typeof a<"u")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:t,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case cme.HELP_COMMAND_INDEX:return fme.HelpCommand.from(n,t);default:{let{commandClass:s}=t[n.selectedIndex],o=this.registrations.get(s);if(typeof o>"u")throw new Error("Assertion failed: Expected the command class to have been registered.");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[bG]=a,l}}break}}async run(e,t){var i;let n,s={...OA.defaultContext,...t},o=(i=this.enableColors)!==null&&i!==void 0?i:s.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e)}catch(c){return s.stdout.write(this.error(c,{colored:o})),1}if(n.help)return s.stdout.write(this.usage(n,{colored:o,detailed:!0})),0;n.context=s,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(c,u)=>this.error(c,u),format:c=>this.format(c),process:c=>this.process(c),run:(c,u)=>this.run(c,{...s,...u}),usage:(c,u)=>this.usage(c,u)};let a=this.enableCapture?dme(s):SG,l;try{l=await a(()=>n.validateAndExecute().catch(c=>n.catch(c).then(()=>0)))}catch(c){return s.stdout.write(this.error(c,{colored:o,command:n})),1}return l}async runExit(e,t){process.exitCode=await this.run(e,t)}suggest(e,t){let{suggest:i}=this.builder.compile();return i(e,t)}definitions({colored:e=!1}={}){let t=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage>"u")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category<"u"?hn.formatMarkdownish(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description<"u"?hn.formatMarkdownish(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details<"u"?hn.formatMarkdownish(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples<"u"?i.usage.examples.map(([f,h])=>[hn.formatMarkdownish(f,{format:this.format(e),paragraphs:!1}),h.replace(/\$0/g,this.binaryName)]):void 0;t.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return t}usage(e=null,{colored:t,detailed:i=!1,prefix:n="$ "}={}){var s;if(e===null){for(let l of this.registrations.keys()){let c=l.paths,u=typeof l.usage<"u";if(!c||c.length===0||c.length===1&&c[0].length===0||((s=c==null?void 0:c.some(h=>h.length===0))!==null&&s!==void 0?s:!1))if(e){e=null;break}else e=l;else if(u){e=null;continue}}e&&(i=!0)}let o=e!==null&&e instanceof wG.Command?e.constructor:e,a="";if(o)if(i){let{description:l="",details:c="",examples:u=[]}=o.usage||{};l!==""&&(a+=hn.formatMarkdownish(l,{format:this.format(t),paragraphs:!1}).replace(/^./,h=>h.toUpperCase()),a+=` -`),(c!==""||u.length>0)&&(a+=`${this.format(t).header("Usage")} -`,a+=` -`);let{usage:g,options:f}=this.getUsageByRegistration(o,{inlineOptions:!1});if(a+=`${this.format(t).bold(n)}${g} -`,f.length>0){a+=` -`,a+=`${hn.richFormat.header("Options")} -`;let h=f.reduce((p,C)=>Math.max(p,C.definition.length),0);a+=` -`;for(let{definition:p,description:C}of f)a+=` ${this.format(t).bold(p.padEnd(h))} ${hn.formatMarkdownish(C,{format:this.format(t),paragraphs:!1})}`}if(c!==""&&(a+=` -`,a+=`${this.format(t).header("Details")} -`,a+=` -`,a+=hn.formatMarkdownish(c,{format:this.format(t),paragraphs:!0})),u.length>0){a+=` -`,a+=`${this.format(t).header("Examples")} -`;for(let[h,p]of u)a+=` -`,a+=hn.formatMarkdownish(h,{format:this.format(t),paragraphs:!1}),a+=`${p.replace(/^/m,` ${this.format(t).bold(n)}`).replace(/\$0/g,this.binaryName)} -`}}else{let{usage:l}=this.getUsageByRegistration(o);a+=`${this.format(t).bold(n)}${l} -`}else{let l=new Map;for(let[f,{index:h}]of this.registrations.entries()){if(typeof f.usage>"u")continue;let p=typeof f.usage.category<"u"?hn.formatMarkdownish(f.usage.category,{format:this.format(t),paragraphs:!1}):null,C=l.get(p);typeof C>"u"&&l.set(p,C=[]);let{usage:w}=this.getUsageByIndex(h);C.push({commandClass:f,usage:w})}let c=Array.from(l.keys()).sort((f,h)=>f===null?-1:h===null?1:f.localeCompare(h,"en",{usage:"sort",caseFirst:"upper"})),u=typeof this.binaryLabel<"u",g=typeof this.binaryVersion<"u";u||g?(u&&g?a+=`${this.format(t).header(`${this.binaryLabel} - ${this.binaryVersion}`)} - -`:u?a+=`${this.format(t).header(`${this.binaryLabel}`)} -`:a+=`${this.format(t).header(`${this.binaryVersion}`)} -`,a+=` ${this.format(t).bold(n)}${this.binaryName} -`):a+=`${this.format(t).bold(n)}${this.binaryName} -`;for(let f of c){let h=l.get(f).slice().sort((C,w)=>C.usage.localeCompare(w.usage,"en",{usage:"sort",caseFirst:"upper"})),p=f!==null?f.trim():"General commands";a+=` -`,a+=`${this.format(t).header(`${p}`)} -`;for(let{commandClass:C,usage:w}of h){let B=C.usage.description||"undocumented";a+=` -`,a+=` ${this.format(t).bold(w)} -`,a+=` ${hn.formatMarkdownish(B,{format:this.format(t),paragraphs:!1})}`}}a+=` -`,a+=hn.formatMarkdownish("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(t),paragraphs:!0})}return a}error(e,t){var i,{colored:n,command:s=(i=e[bG])!==null&&i!==void 0?i:null}=t===void 0?{}:t;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let o="",a=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");a==="Error"&&(a="Internal Error"),o+=`${this.format(n).error(a)}: ${e.message} -`;let l=e.clipanion;return typeof l<"u"?l.type==="usage"&&(o+=` -`,o+=this.usage(s)):e.stack&&(o+=`${e.stack.replace(/^.*\n/,"")} -`),o}format(e){var t;return((t=e!=null?e:this.enableColors)!==null&&t!==void 0?t:OA.defaultContext.colorDepth>1)?hn.richFormat:hn.textFormat}getUsageByRegistration(e,t){let i=this.registrations.get(e);if(typeof i>"u")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(i.index,t)}getUsageByIndex(e,t){return this.builder.getBuilderByIndex(e).usage(t)}};OA.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:"getColorDepth"in BG.default.WriteStream.prototype?BG.default.WriteStream.prototype.getColorDepth():pme()};var QG;function dme(r){let e=QG;if(typeof e>"u"){if(r.stdout===process.stdout&&r.stderr===process.stderr)return SG;let{AsyncLocalStorage:t}=J("async_hooks");e=QG=new t;let i=process.stdout._write;process.stdout._write=function(s,o,a){let l=e.getStore();return typeof l>"u"?i.call(this,s,o,a):l.stdout.write(s,o,a)};let n=process.stderr._write;process.stderr._write=function(s,o,a){let l=e.getStore();return typeof l>"u"?n.call(this,s,o,a):l.stderr.write(s,o,a)}}return t=>e.run(r,t)}function SG(r){return r()}Vv.Cli=OA});var xG=y(Xv=>{"use strict";Object.defineProperty(Xv,"__esModule",{value:!0});var Cme=bc(),cy=class extends Cme.Command{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} -`)}};cy.paths=[["--clipanion=definitions"]];Xv.DefinitionsCommand=cy});var PG=y(_v=>{"use strict";Object.defineProperty(_v,"__esModule",{value:!0});var mme=bc(),uy=class extends mme.Command{async execute(){this.context.stdout.write(this.cli.usage())}};uy.paths=[["-h"],["--help"]];_v.HelpCommand=uy});var DG=y(Zv=>{"use strict";Object.defineProperty(Zv,"__esModule",{value:!0});var Eme=bc(),gy=class extends Eme.Command{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:""} -`)}};gy.paths=[["-v"],["--version"]];Zv.VersionCommand=gy});var kG=y(Rd=>{"use strict";Object.defineProperty(Rd,"__esModule",{value:!0});var Ime=xG(),yme=PG(),wme=DG();Rd.DefinitionsCommand=Ime.DefinitionsCommand;Rd.HelpCommand=yme.HelpCommand;Rd.VersionCommand=wme.VersionCommand});var FG=y($v=>{"use strict";Object.defineProperty($v,"__esModule",{value:!0});var RG=va();function Bme(r,e,t){let[i,n]=RG.rerouteArguments(e,t!=null?t:{}),{arity:s=1}=n,o=r.split(","),a=new Set(o);return RG.makeCommandOption({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i<"u"?[...i]:void 0;for(let{name:f,value:h}of u.options)!a.has(f)||(g=g!=null?g:[],g.push(h));return g}})}$v.Array=Bme});var TG=y(ex=>{"use strict";Object.defineProperty(ex,"__esModule",{value:!0});var NG=va();function bme(r,e,t){let[i,n]=NG.rerouteArguments(e,t!=null?t:{}),s=r.split(","),o=new Set(s);return NG.makeCommandOption({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u=f);return u}})}ex.Boolean=bme});var OG=y(tx=>{"use strict";Object.defineProperty(tx,"__esModule",{value:!0});var LG=va();function Qme(r,e,t){let[i,n]=LG.rerouteArguments(e,t!=null?t:{}),s=r.split(","),o=new Set(s);return LG.makeCommandOption({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u!=null||(u=0),f?u+=1:u=0);return u}})}tx.Counter=Qme});var MG=y(rx=>{"use strict";Object.defineProperty(rx,"__esModule",{value:!0});var Sme=va();function vme(r={}){return Sme.makeCommandOption({definition(e,t){var i;e.addProxy({name:(i=r.name)!==null&&i!==void 0?i:t,required:r.required})},transformer(e,t,i){return i.positionals.map(({value:n})=>n)}})}rx.Proxy=vme});var UG=y(ix=>{"use strict";Object.defineProperty(ix,"__esModule",{value:!0});var xme=va(),Pme=ly();function Dme(r={}){return xme.makeCommandOption({definition(e,t){var i;e.addRest({name:(i=r.name)!==null&&i!==void 0?i:t,required:r.required})},transformer(e,t,i){let n=o=>{let a=i.positionals[o];return a.extra===Pme.NoLimits||a.extra===!1&&oo)}})}ix.Rest=Dme});var KG=y(nx=>{"use strict";Object.defineProperty(nx,"__esModule",{value:!0});var Fd=va(),kme=ly();function Rme(r,e,t){let[i,n]=Fd.rerouteArguments(e,t!=null?t:{}),{arity:s=1}=n,o=r.split(","),a=new Set(o);return Fd.makeCommandOption({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,f=i;for(let{name:h,value:p}of u.options)!a.has(h)||(g=h,f=p);return typeof f=="string"?Fd.applyValidator(g!=null?g:c,f,n.validator):f}})}function Fme(r={}){let{required:e=!0}=r;return Fd.makeCommandOption({definition(t,i){var n;t.addPositional({name:(n=r.name)!==null&&n!==void 0?n:i,required:r.required})},transformer(t,i,n){var s;for(let o=0;o{"use strict";Object.defineProperty(pn,"__esModule",{value:!0});var lf=va(),Tme=FG(),Lme=TG(),Ome=OG(),Mme=MG(),Ume=UG(),Kme=KG();pn.applyValidator=lf.applyValidator;pn.cleanValidationError=lf.cleanValidationError;pn.formatError=lf.formatError;pn.isOptionSymbol=lf.isOptionSymbol;pn.makeCommandOption=lf.makeCommandOption;pn.rerouteArguments=lf.rerouteArguments;pn.Array=Tme.Array;pn.Boolean=Lme.Boolean;pn.Counter=Ome.Counter;pn.Proxy=Mme.Proxy;pn.Rest=Ume.Rest;pn.String=Kme.String});var Xe=y(MA=>{"use strict";Object.defineProperty(MA,"__esModule",{value:!0});var Hme=iy(),Gme=bc(),Yme=jv(),jme=vG(),qme=kG(),Jme=HG();MA.UsageError=Hme.UsageError;MA.Command=Gme.Command;MA.formatMarkdownish=Yme.formatMarkdownish;MA.Cli=jme.Cli;MA.Builtins=qme;MA.Option=Jme});var YG=y((J$e,GG)=>{"use strict";GG.exports=(r,...e)=>new Promise(t=>{t(r(...e))})});var cf=y((W$e,sx)=>{"use strict";var Wme=YG(),jG=r=>{if(r<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],t=0,i=()=>{t--,e.length>0&&e.shift()()},n=(a,l,...c)=>{t++;let u=Wme(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{tnew Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>t},pendingCount:{get:()=>e.length}}),o};sx.exports=jG;sx.exports.default=jG});var Nd=y((V$e,qG)=>{var zme="2.0.0",Vme=Number.MAX_SAFE_INTEGER||9007199254740991,Xme=16;qG.exports={SEMVER_SPEC_VERSION:zme,MAX_LENGTH:256,MAX_SAFE_INTEGER:Vme,MAX_SAFE_COMPONENT_LENGTH:Xme}});var Td=y((X$e,JG)=>{var _me=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};JG.exports=_me});var Sc=y((KA,WG)=>{var{MAX_SAFE_COMPONENT_LENGTH:ox}=Nd(),Zme=Td();KA=WG.exports={};var $me=KA.re=[],_e=KA.src=[],Ze=KA.t={},eEe=0,St=(r,e,t)=>{let i=eEe++;Zme(i,e),Ze[r]=i,_e[i]=e,$me[i]=new RegExp(e,t?"g":void 0)};St("NUMERICIDENTIFIER","0|[1-9]\\d*");St("NUMERICIDENTIFIERLOOSE","[0-9]+");St("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");St("MAINVERSION",`(${_e[Ze.NUMERICIDENTIFIER]})\\.(${_e[Ze.NUMERICIDENTIFIER]})\\.(${_e[Ze.NUMERICIDENTIFIER]})`);St("MAINVERSIONLOOSE",`(${_e[Ze.NUMERICIDENTIFIERLOOSE]})\\.(${_e[Ze.NUMERICIDENTIFIERLOOSE]})\\.(${_e[Ze.NUMERICIDENTIFIERLOOSE]})`);St("PRERELEASEIDENTIFIER",`(?:${_e[Ze.NUMERICIDENTIFIER]}|${_e[Ze.NONNUMERICIDENTIFIER]})`);St("PRERELEASEIDENTIFIERLOOSE",`(?:${_e[Ze.NUMERICIDENTIFIERLOOSE]}|${_e[Ze.NONNUMERICIDENTIFIER]})`);St("PRERELEASE",`(?:-(${_e[Ze.PRERELEASEIDENTIFIER]}(?:\\.${_e[Ze.PRERELEASEIDENTIFIER]})*))`);St("PRERELEASELOOSE",`(?:-?(${_e[Ze.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${_e[Ze.PRERELEASEIDENTIFIERLOOSE]})*))`);St("BUILDIDENTIFIER","[0-9A-Za-z-]+");St("BUILD",`(?:\\+(${_e[Ze.BUILDIDENTIFIER]}(?:\\.${_e[Ze.BUILDIDENTIFIER]})*))`);St("FULLPLAIN",`v?${_e[Ze.MAINVERSION]}${_e[Ze.PRERELEASE]}?${_e[Ze.BUILD]}?`);St("FULL",`^${_e[Ze.FULLPLAIN]}$`);St("LOOSEPLAIN",`[v=\\s]*${_e[Ze.MAINVERSIONLOOSE]}${_e[Ze.PRERELEASELOOSE]}?${_e[Ze.BUILD]}?`);St("LOOSE",`^${_e[Ze.LOOSEPLAIN]}$`);St("GTLT","((?:<|>)?=?)");St("XRANGEIDENTIFIERLOOSE",`${_e[Ze.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);St("XRANGEIDENTIFIER",`${_e[Ze.NUMERICIDENTIFIER]}|x|X|\\*`);St("XRANGEPLAIN",`[v=\\s]*(${_e[Ze.XRANGEIDENTIFIER]})(?:\\.(${_e[Ze.XRANGEIDENTIFIER]})(?:\\.(${_e[Ze.XRANGEIDENTIFIER]})(?:${_e[Ze.PRERELEASE]})?${_e[Ze.BUILD]}?)?)?`);St("XRANGEPLAINLOOSE",`[v=\\s]*(${_e[Ze.XRANGEIDENTIFIERLOOSE]})(?:\\.(${_e[Ze.XRANGEIDENTIFIERLOOSE]})(?:\\.(${_e[Ze.XRANGEIDENTIFIERLOOSE]})(?:${_e[Ze.PRERELEASELOOSE]})?${_e[Ze.BUILD]}?)?)?`);St("XRANGE",`^${_e[Ze.GTLT]}\\s*${_e[Ze.XRANGEPLAIN]}$`);St("XRANGELOOSE",`^${_e[Ze.GTLT]}\\s*${_e[Ze.XRANGEPLAINLOOSE]}$`);St("COERCE",`(^|[^\\d])(\\d{1,${ox}})(?:\\.(\\d{1,${ox}}))?(?:\\.(\\d{1,${ox}}))?(?:$|[^\\d])`);St("COERCERTL",_e[Ze.COERCE],!0);St("LONETILDE","(?:~>?)");St("TILDETRIM",`(\\s*)${_e[Ze.LONETILDE]}\\s+`,!0);KA.tildeTrimReplace="$1~";St("TILDE",`^${_e[Ze.LONETILDE]}${_e[Ze.XRANGEPLAIN]}$`);St("TILDELOOSE",`^${_e[Ze.LONETILDE]}${_e[Ze.XRANGEPLAINLOOSE]}$`);St("LONECARET","(?:\\^)");St("CARETTRIM",`(\\s*)${_e[Ze.LONECARET]}\\s+`,!0);KA.caretTrimReplace="$1^";St("CARET",`^${_e[Ze.LONECARET]}${_e[Ze.XRANGEPLAIN]}$`);St("CARETLOOSE",`^${_e[Ze.LONECARET]}${_e[Ze.XRANGEPLAINLOOSE]}$`);St("COMPARATORLOOSE",`^${_e[Ze.GTLT]}\\s*(${_e[Ze.LOOSEPLAIN]})$|^$`);St("COMPARATOR",`^${_e[Ze.GTLT]}\\s*(${_e[Ze.FULLPLAIN]})$|^$`);St("COMPARATORTRIM",`(\\s*)${_e[Ze.GTLT]}\\s*(${_e[Ze.LOOSEPLAIN]}|${_e[Ze.XRANGEPLAIN]})`,!0);KA.comparatorTrimReplace="$1$2$3";St("HYPHENRANGE",`^\\s*(${_e[Ze.XRANGEPLAIN]})\\s+-\\s+(${_e[Ze.XRANGEPLAIN]})\\s*$`);St("HYPHENRANGELOOSE",`^\\s*(${_e[Ze.XRANGEPLAINLOOSE]})\\s+-\\s+(${_e[Ze.XRANGEPLAINLOOSE]})\\s*$`);St("STAR","(<|>)?=?\\s*\\*");St("GTE0","^\\s*>=\\s*0.0.0\\s*$");St("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var Ld=y((_$e,zG)=>{var tEe=["includePrerelease","loose","rtl"],rEe=r=>r?typeof r!="object"?{loose:!0}:tEe.filter(e=>r[e]).reduce((e,t)=>(e[t]=!0,e),{}):{};zG.exports=rEe});var hy=y((Z$e,_G)=>{var VG=/^[0-9]+$/,XG=(r,e)=>{let t=VG.test(r),i=VG.test(e);return t&&i&&(r=+r,e=+e),r===e?0:t&&!i?-1:i&&!t?1:rXG(e,r);_G.exports={compareIdentifiers:XG,rcompareIdentifiers:iEe}});var Oi=y(($$e,tY)=>{var py=Td(),{MAX_LENGTH:ZG,MAX_SAFE_INTEGER:dy}=Nd(),{re:$G,t:eY}=Sc(),nEe=Ld(),{compareIdentifiers:Od}=hy(),Kn=class{constructor(e,t){if(t=nEe(t),e instanceof Kn){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>ZG)throw new TypeError(`version is longer than ${ZG} characters`);py("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let i=e.trim().match(t.loose?$G[eY.LOOSE]:$G[eY.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>dy||this.major<0)throw new TypeError("Invalid major version");if(this.minor>dy||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>dy||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};tY.exports=Kn});var vc=y((eet,sY)=>{var{MAX_LENGTH:sEe}=Nd(),{re:rY,t:iY}=Sc(),nY=Oi(),oEe=Ld(),aEe=(r,e)=>{if(e=oEe(e),r instanceof nY)return r;if(typeof r!="string"||r.length>sEe||!(e.loose?rY[iY.LOOSE]:rY[iY.FULL]).test(r))return null;try{return new nY(r,e)}catch{return null}};sY.exports=aEe});var aY=y((tet,oY)=>{var AEe=vc(),lEe=(r,e)=>{let t=AEe(r,e);return t?t.version:null};oY.exports=lEe});var lY=y((ret,AY)=>{var cEe=vc(),uEe=(r,e)=>{let t=cEe(r.trim().replace(/^[=v]+/,""),e);return t?t.version:null};AY.exports=uEe});var uY=y((iet,cY)=>{var gEe=Oi(),fEe=(r,e,t,i)=>{typeof t=="string"&&(i=t,t=void 0);try{return new gEe(r,t).inc(e,i).version}catch{return null}};cY.exports=fEe});var os=y((net,fY)=>{var gY=Oi(),hEe=(r,e,t)=>new gY(r,t).compare(new gY(e,t));fY.exports=hEe});var Cy=y((set,hY)=>{var pEe=os(),dEe=(r,e,t)=>pEe(r,e,t)===0;hY.exports=dEe});var CY=y((oet,dY)=>{var pY=vc(),CEe=Cy(),mEe=(r,e)=>{if(CEe(r,e))return null;{let t=pY(r),i=pY(e),n=t.prerelease.length||i.prerelease.length,s=n?"pre":"",o=n?"prerelease":"";for(let a in t)if((a==="major"||a==="minor"||a==="patch")&&t[a]!==i[a])return s+a;return o}};dY.exports=mEe});var EY=y((aet,mY)=>{var EEe=Oi(),IEe=(r,e)=>new EEe(r,e).major;mY.exports=IEe});var yY=y((Aet,IY)=>{var yEe=Oi(),wEe=(r,e)=>new yEe(r,e).minor;IY.exports=wEe});var BY=y((cet,wY)=>{var BEe=Oi(),bEe=(r,e)=>new BEe(r,e).patch;wY.exports=bEe});var QY=y((uet,bY)=>{var QEe=vc(),SEe=(r,e)=>{let t=QEe(r,e);return t&&t.prerelease.length?t.prerelease:null};bY.exports=SEe});var vY=y((get,SY)=>{var vEe=os(),xEe=(r,e,t)=>vEe(e,r,t);SY.exports=xEe});var PY=y((fet,xY)=>{var PEe=os(),DEe=(r,e)=>PEe(r,e,!0);xY.exports=DEe});var my=y((het,kY)=>{var DY=Oi(),kEe=(r,e,t)=>{let i=new DY(r,t),n=new DY(e,t);return i.compare(n)||i.compareBuild(n)};kY.exports=kEe});var FY=y((pet,RY)=>{var REe=my(),FEe=(r,e)=>r.sort((t,i)=>REe(t,i,e));RY.exports=FEe});var TY=y((det,NY)=>{var NEe=my(),TEe=(r,e)=>r.sort((t,i)=>NEe(i,t,e));NY.exports=TEe});var Md=y((Cet,LY)=>{var LEe=os(),OEe=(r,e,t)=>LEe(r,e,t)>0;LY.exports=OEe});var Ey=y((met,OY)=>{var MEe=os(),UEe=(r,e,t)=>MEe(r,e,t)<0;OY.exports=UEe});var ax=y((Eet,MY)=>{var KEe=os(),HEe=(r,e,t)=>KEe(r,e,t)!==0;MY.exports=HEe});var Iy=y((Iet,UY)=>{var GEe=os(),YEe=(r,e,t)=>GEe(r,e,t)>=0;UY.exports=YEe});var yy=y((yet,KY)=>{var jEe=os(),qEe=(r,e,t)=>jEe(r,e,t)<=0;KY.exports=qEe});var Ax=y((wet,HY)=>{var JEe=Cy(),WEe=ax(),zEe=Md(),VEe=Iy(),XEe=Ey(),_Ee=yy(),ZEe=(r,e,t,i)=>{switch(e){case"===":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r===t;case"!==":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r!==t;case"":case"=":case"==":return JEe(r,t,i);case"!=":return WEe(r,t,i);case">":return zEe(r,t,i);case">=":return VEe(r,t,i);case"<":return XEe(r,t,i);case"<=":return _Ee(r,t,i);default:throw new TypeError(`Invalid operator: ${e}`)}};HY.exports=ZEe});var YY=y((Bet,GY)=>{var $Ee=Oi(),eIe=vc(),{re:wy,t:By}=Sc(),tIe=(r,e)=>{if(r instanceof $Ee)return r;if(typeof r=="number"&&(r=String(r)),typeof r!="string")return null;e=e||{};let t=null;if(!e.rtl)t=r.match(wy[By.COERCE]);else{let i;for(;(i=wy[By.COERCERTL].exec(r))&&(!t||t.index+t[0].length!==r.length);)(!t||i.index+i[0].length!==t.index+t[0].length)&&(t=i),wy[By.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;wy[By.COERCERTL].lastIndex=-1}return t===null?null:eIe(`${t[2]}.${t[3]||"0"}.${t[4]||"0"}`,e)};GY.exports=tIe});var qY=y((bet,jY)=>{"use strict";jY.exports=function(r){r.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var Ud=y((Qet,JY)=>{"use strict";JY.exports=Ht;Ht.Node=xc;Ht.create=Ht;function Ht(r){var e=this;if(e instanceof Ht||(e=new Ht),e.tail=null,e.head=null,e.length=0,r&&typeof r.forEach=="function")r.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var t=0,i=arguments.length;t1)t=e;else if(this.head)i=this.head.next,t=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)t=r(t,i.value,n),i=i.next;return t};Ht.prototype.reduceReverse=function(r,e){var t,i=this.tail;if(arguments.length>1)t=e;else if(this.tail)i=this.tail.prev,t=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)t=r(t,i.value,n),i=i.prev;return t};Ht.prototype.toArray=function(){for(var r=new Array(this.length),e=0,t=this.head;t!==null;e++)r[e]=t.value,t=t.next;return r};Ht.prototype.toArrayReverse=function(){for(var r=new Array(this.length),e=0,t=this.tail;t!==null;e++)r[e]=t.value,t=t.prev;return r};Ht.prototype.slice=function(r,e){e=e||this.length,e<0&&(e+=this.length),r=r||0,r<0&&(r+=this.length);var t=new Ht;if(ethis.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&ithis.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>r;i--,n=n.prev)t.push(n.value);return t};Ht.prototype.splice=function(r,e,...t){r>this.length&&(r=this.length-1),r<0&&(r=this.length+r);for(var i=0,n=this.head;n!==null&&i{"use strict";var sIe=Ud(),Pc=Symbol("max"),Pa=Symbol("length"),uf=Symbol("lengthCalculator"),Hd=Symbol("allowStale"),Dc=Symbol("maxAge"),xa=Symbol("dispose"),WY=Symbol("noDisposeOnSet"),Ii=Symbol("lruList"),zs=Symbol("cache"),VY=Symbol("updateAgeOnGet"),lx=()=>1,ux=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let t=this[Pc]=e.max||1/0,i=e.length||lx;if(this[uf]=typeof i!="function"?lx:i,this[Hd]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[Dc]=e.maxAge||0,this[xa]=e.dispose,this[WY]=e.noDisposeOnSet||!1,this[VY]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[Pc]=e||1/0,Kd(this)}get max(){return this[Pc]}set allowStale(e){this[Hd]=!!e}get allowStale(){return this[Hd]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[Dc]=e,Kd(this)}get maxAge(){return this[Dc]}set lengthCalculator(e){typeof e!="function"&&(e=lx),e!==this[uf]&&(this[uf]=e,this[Pa]=0,this[Ii].forEach(t=>{t.length=this[uf](t.value,t.key),this[Pa]+=t.length})),Kd(this)}get lengthCalculator(){return this[uf]}get length(){return this[Pa]}get itemCount(){return this[Ii].length}rforEach(e,t){t=t||this;for(let i=this[Ii].tail;i!==null;){let n=i.prev;zY(this,e,i,t),i=n}}forEach(e,t){t=t||this;for(let i=this[Ii].head;i!==null;){let n=i.next;zY(this,e,i,t),i=n}}keys(){return this[Ii].toArray().map(e=>e.key)}values(){return this[Ii].toArray().map(e=>e.value)}reset(){this[xa]&&this[Ii]&&this[Ii].length&&this[Ii].forEach(e=>this[xa](e.key,e.value)),this[zs]=new Map,this[Ii]=new sIe,this[Pa]=0}dump(){return this[Ii].map(e=>by(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[Ii]}set(e,t,i){if(i=i||this[Dc],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[uf](t,e);if(this[zs].has(e)){if(s>this[Pc])return gf(this,this[zs].get(e)),!1;let l=this[zs].get(e).value;return this[xa]&&(this[WY]||this[xa](e,l.value)),l.now=n,l.maxAge=i,l.value=t,this[Pa]+=s-l.length,l.length=s,this.get(e),Kd(this),!0}let o=new gx(e,t,s,n,i);return o.length>this[Pc]?(this[xa]&&this[xa](e,t),!1):(this[Pa]+=o.length,this[Ii].unshift(o),this[zs].set(e,this[Ii].head),Kd(this),!0)}has(e){if(!this[zs].has(e))return!1;let t=this[zs].get(e).value;return!by(this,t)}get(e){return cx(this,e,!0)}peek(e){return cx(this,e,!1)}pop(){let e=this[Ii].tail;return e?(gf(this,e),e.value):null}del(e){gf(this,this[zs].get(e))}load(e){this.reset();let t=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-t;o>0&&this.set(n.k,n.v,o)}}}prune(){this[zs].forEach((e,t)=>cx(this,t,!1))}},cx=(r,e,t)=>{let i=r[zs].get(e);if(i){let n=i.value;if(by(r,n)){if(gf(r,i),!r[Hd])return}else t&&(r[VY]&&(i.value.now=Date.now()),r[Ii].unshiftNode(i));return n.value}},by=(r,e)=>{if(!e||!e.maxAge&&!r[Dc])return!1;let t=Date.now()-e.now;return e.maxAge?t>e.maxAge:r[Dc]&&t>r[Dc]},Kd=r=>{if(r[Pa]>r[Pc])for(let e=r[Ii].tail;r[Pa]>r[Pc]&&e!==null;){let t=e.prev;gf(r,e),e=t}},gf=(r,e)=>{if(e){let t=e.value;r[xa]&&r[xa](t.key,t.value),r[Pa]-=t.length,r[zs].delete(t.key),r[Ii].removeNode(e)}},gx=class{constructor(e,t,i,n,s){this.key=e,this.value=t,this.length=i,this.now=n,this.maxAge=s||0}},zY=(r,e,t,i)=>{let n=t.value;by(r,n)&&(gf(r,t),r[Hd]||(n=void 0)),n&&e.call(i,n.value,n.key,r)};XY.exports=ux});var as=y((xet,tj)=>{var kc=class{constructor(e,t){if(t=aIe(t),e instanceof kc)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new kc(e.raw,t);if(e instanceof fx)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!$Y(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&gIe(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=ZY.get(i);if(n)return n;let s=this.options.loose,o=s?Mi[Qi.HYPHENRANGELOOSE]:Mi[Qi.HYPHENRANGE];e=e.replace(o,wIe(this.options.includePrerelease)),jr("hyphen replace",e),e=e.replace(Mi[Qi.COMPARATORTRIM],lIe),jr("comparator trim",e,Mi[Qi.COMPARATORTRIM]),e=e.replace(Mi[Qi.TILDETRIM],cIe),e=e.replace(Mi[Qi.CARETTRIM],uIe),e=e.split(/\s+/).join(" ");let a=s?Mi[Qi.COMPARATORLOOSE]:Mi[Qi.COMPARATOR],l=e.split(" ").map(f=>fIe(f,this.options)).join(" ").split(/\s+/).map(f=>yIe(f,this.options)).filter(this.options.loose?f=>!!f.match(a):()=>!0).map(f=>new fx(f,this.options)),c=l.length,u=new Map;for(let f of l){if($Y(f))return[f];u.set(f.value,f)}u.size>1&&u.has("")&&u.delete("");let g=[...u.values()];return ZY.set(i,g),g}intersects(e,t){if(!(e instanceof kc))throw new TypeError("a Range is required");return this.set.some(i=>ej(i,t)&&e.set.some(n=>ej(n,t)&&i.every(s=>n.every(o=>s.intersects(o,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new AIe(e,this.options)}catch{return!1}for(let t=0;tr.value==="<0.0.0-0",gIe=r=>r.value==="",ej=(r,e)=>{let t=!0,i=r.slice(),n=i.pop();for(;t&&i.length;)t=i.every(s=>n.intersects(s,e)),n=i.pop();return t},fIe=(r,e)=>(jr("comp",r,e),r=dIe(r,e),jr("caret",r),r=hIe(r,e),jr("tildes",r),r=mIe(r,e),jr("xrange",r),r=IIe(r,e),jr("stars",r),r),Xi=r=>!r||r.toLowerCase()==="x"||r==="*",hIe=(r,e)=>r.trim().split(/\s+/).map(t=>pIe(t,e)).join(" "),pIe=(r,e)=>{let t=e.loose?Mi[Qi.TILDELOOSE]:Mi[Qi.TILDE];return r.replace(t,(i,n,s,o,a)=>{jr("tilde",r,i,n,s,o,a);let l;return Xi(n)?l="":Xi(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:Xi(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(jr("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,jr("tilde return",l),l})},dIe=(r,e)=>r.trim().split(/\s+/).map(t=>CIe(t,e)).join(" "),CIe=(r,e)=>{jr("caret",r,e);let t=e.loose?Mi[Qi.CARETLOOSE]:Mi[Qi.CARET],i=e.includePrerelease?"-0":"";return r.replace(t,(n,s,o,a,l)=>{jr("caret",r,n,s,o,a,l);let c;return Xi(s)?c="":Xi(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:Xi(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(jr("replaceCaret pr",l),s==="0"?o==="0"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(jr("no pr"),s==="0"?o==="0"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),jr("caret return",c),c})},mIe=(r,e)=>(jr("replaceXRanges",r,e),r.split(/\s+/).map(t=>EIe(t,e)).join(" ")),EIe=(r,e)=>{r=r.trim();let t=e.loose?Mi[Qi.XRANGELOOSE]:Mi[Qi.XRANGE];return r.replace(t,(i,n,s,o,a,l)=>{jr("xRange",r,i,n,s,o,a,l);let c=Xi(s),u=c||Xi(o),g=u||Xi(a),f=g;return n==="="&&f&&(n=""),l=e.includePrerelease?"-0":"",c?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&f?(u&&(o=0),a=0,n===">"?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",u?s=+s+1:o=+o+1),n==="<"&&(l="-0"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),jr("xRange return",i),i})},IIe=(r,e)=>(jr("replaceStars",r,e),r.trim().replace(Mi[Qi.STAR],"")),yIe=(r,e)=>(jr("replaceGTE0",r,e),r.trim().replace(Mi[e.includePrerelease?Qi.GTE0PRE:Qi.GTE0],"")),wIe=r=>(e,t,i,n,s,o,a,l,c,u,g,f,h)=>(Xi(i)?t="":Xi(n)?t=`>=${i}.0.0${r?"-0":""}`:Xi(s)?t=`>=${i}.${n}.0${r?"-0":""}`:o?t=`>=${t}`:t=`>=${t}${r?"-0":""}`,Xi(c)?l="":Xi(u)?l=`<${+c+1}.0.0-0`:Xi(g)?l=`<${c}.${+u+1}.0-0`:f?l=`<=${c}.${u}.${g}-${f}`:r?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${t} ${l}`.trim()),BIe=(r,e,t)=>{for(let i=0;i0){let n=r[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var Gd=y((Pet,oj)=>{var Yd=Symbol("SemVer ANY"),ff=class{static get ANY(){return Yd}constructor(e,t){if(t=bIe(t),e instanceof ff){if(e.loose===!!t.loose)return e;e=e.value}px("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===Yd?this.value="":this.value=this.operator+this.semver.version,px("comp",this)}parse(e){let t=this.options.loose?rj[ij.COMPARATORLOOSE]:rj[ij.COMPARATOR],i=e.match(t);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new nj(i[2],this.options.loose):this.semver=Yd}toString(){return this.value}test(e){if(px("Comparator.test",e,this.options.loose),this.semver===Yd||e===Yd)return!0;if(typeof e=="string")try{e=new nj(e,this.options)}catch{return!1}return hx(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof ff))throw new TypeError("a Comparator is required");if((!t||typeof t!="object")&&(t={loose:!!t,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new sj(e.value,t).test(this.value);if(e.operator==="")return e.value===""?!0:new sj(this.value,t).test(e.semver);let i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),s=this.semver.version===e.semver.version,o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),a=hx(this.semver,"<",e.semver,t)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=hx(this.semver,">",e.semver,t)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};oj.exports=ff;var bIe=Ld(),{re:rj,t:ij}=Sc(),hx=Ax(),px=Td(),nj=Oi(),sj=as()});var jd=y((Det,aj)=>{var QIe=as(),SIe=(r,e,t)=>{try{e=new QIe(e,t)}catch{return!1}return e.test(r)};aj.exports=SIe});var lj=y((ket,Aj)=>{var vIe=as(),xIe=(r,e)=>new vIe(r,e).set.map(t=>t.map(i=>i.value).join(" ").trim().split(" "));Aj.exports=xIe});var uj=y((Ret,cj)=>{var PIe=Oi(),DIe=as(),kIe=(r,e,t)=>{let i=null,n=null,s=null;try{s=new DIe(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new PIe(i,t))}),i};cj.exports=kIe});var fj=y((Fet,gj)=>{var RIe=Oi(),FIe=as(),NIe=(r,e,t)=>{let i=null,n=null,s=null;try{s=new FIe(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new RIe(i,t))}),i};gj.exports=NIe});var dj=y((Net,pj)=>{var dx=Oi(),TIe=as(),hj=Md(),LIe=(r,e)=>{r=new TIe(r,e);let t=new dx("0.0.0");if(r.test(t)||(t=new dx("0.0.0-0"),r.test(t)))return t;t=null;for(let i=0;i{let a=new dx(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||hj(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!t||hj(t,s))&&(t=s)}return t&&r.test(t)?t:null};pj.exports=LIe});var mj=y((Tet,Cj)=>{var OIe=as(),MIe=(r,e)=>{try{return new OIe(r,e).range||"*"}catch{return null}};Cj.exports=MIe});var Qy=y((Let,wj)=>{var UIe=Oi(),yj=Gd(),{ANY:KIe}=yj,HIe=as(),GIe=jd(),Ej=Md(),Ij=Ey(),YIe=yy(),jIe=Iy(),qIe=(r,e,t,i)=>{r=new UIe(r,i),e=new HIe(e,i);let n,s,o,a,l;switch(t){case">":n=Ej,s=YIe,o=Ij,a=">",l=">=";break;case"<":n=Ij,s=jIe,o=Ej,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(GIe(r,e,i))return!1;for(let c=0;c{h.semver===KIe&&(h=new yj(">=0.0.0")),g=g||h,f=f||h,n(h.semver,g.semver,i)?g=h:o(h.semver,f.semver,i)&&(f=h)}),g.operator===a||g.operator===l||(!f.operator||f.operator===a)&&s(r,f.semver))return!1;if(f.operator===l&&o(r,f.semver))return!1}return!0};wj.exports=qIe});var bj=y((Oet,Bj)=>{var JIe=Qy(),WIe=(r,e,t)=>JIe(r,e,">",t);Bj.exports=WIe});var Sj=y((Met,Qj)=>{var zIe=Qy(),VIe=(r,e,t)=>zIe(r,e,"<",t);Qj.exports=VIe});var Pj=y((Uet,xj)=>{var vj=as(),XIe=(r,e,t)=>(r=new vj(r,t),e=new vj(e,t),r.intersects(e));xj.exports=XIe});var kj=y((Ket,Dj)=>{var _Ie=jd(),ZIe=os();Dj.exports=(r,e,t)=>{let i=[],n=null,s=null,o=r.sort((u,g)=>ZIe(u,g,t));for(let u of o)_Ie(u,e,t)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push("*"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length{var Rj=as(),Sy=Gd(),{ANY:Cx}=Sy,qd=jd(),mx=os(),$Ie=(r,e,t={})=>{if(r===e)return!0;r=new Rj(r,t),e=new Rj(e,t);let i=!1;e:for(let n of r.set){for(let s of e.set){let o=eye(n,s,t);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},eye=(r,e,t)=>{if(r===e)return!0;if(r.length===1&&r[0].semver===Cx){if(e.length===1&&e[0].semver===Cx)return!0;t.includePrerelease?r=[new Sy(">=0.0.0-0")]:r=[new Sy(">=0.0.0")]}if(e.length===1&&e[0].semver===Cx){if(t.includePrerelease)return!0;e=[new Sy(">=0.0.0")]}let i=new Set,n,s;for(let h of r)h.operator===">"||h.operator===">="?n=Fj(n,h,t):h.operator==="<"||h.operator==="<="?s=Nj(s,h,t):i.add(h.semver);if(i.size>1)return null;let o;if(n&&s){if(o=mx(n.semver,s.semver,t),o>0)return null;if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let h of i){if(n&&!qd(h,String(n),t)||s&&!qd(h,String(s),t))return null;for(let p of e)if(!qd(h,String(p),t))return!1;return!0}let a,l,c,u,g=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1,f=n&&!t.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator==="<"&&g.prerelease[0]===0&&(g=!1);for(let h of e){if(u=u||h.operator===">"||h.operator===">=",c=c||h.operator==="<"||h.operator==="<=",n){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===">"||h.operator===">="){if(a=Fj(n,h,t),a===h&&a!==n)return!1}else if(n.operator===">="&&!qd(n.semver,String(h),t))return!1}if(s){if(g&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===g.major&&h.semver.minor===g.minor&&h.semver.patch===g.patch&&(g=!1),h.operator==="<"||h.operator==="<="){if(l=Nj(s,h,t),l===h&&l!==s)return!1}else if(s.operator==="<="&&!qd(s.semver,String(h),t))return!1}if(!h.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||f||g)},Fj=(r,e,t)=>{if(!r)return e;let i=mx(r.semver,e.semver,t);return i>0?r:i<0||e.operator===">"&&r.operator===">="?e:r},Nj=(r,e,t)=>{if(!r)return e;let i=mx(r.semver,e.semver,t);return i<0?r:i>0||e.operator==="<"&&r.operator==="<="?e:r};Tj.exports=$Ie});var $r=y((Get,Oj)=>{var Ex=Sc();Oj.exports={re:Ex.re,src:Ex.src,tokens:Ex.t,SEMVER_SPEC_VERSION:Nd().SEMVER_SPEC_VERSION,SemVer:Oi(),compareIdentifiers:hy().compareIdentifiers,rcompareIdentifiers:hy().rcompareIdentifiers,parse:vc(),valid:aY(),clean:lY(),inc:uY(),diff:CY(),major:EY(),minor:yY(),patch:BY(),prerelease:QY(),compare:os(),rcompare:vY(),compareLoose:PY(),compareBuild:my(),sort:FY(),rsort:TY(),gt:Md(),lt:Ey(),eq:Cy(),neq:ax(),gte:Iy(),lte:yy(),cmp:Ax(),coerce:YY(),Comparator:Gd(),Range:as(),satisfies:jd(),toComparators:lj(),maxSatisfying:uj(),minSatisfying:fj(),minVersion:dj(),validRange:mj(),outside:Qy(),gtr:bj(),ltr:Sj(),intersects:Pj(),simplifyRange:kj(),subset:Lj()}});var Ix=y(vy=>{"use strict";Object.defineProperty(vy,"__esModule",{value:!0});vy.VERSION=void 0;vy.VERSION="9.1.0"});var Gt=y((exports,module)=>{"use strict";var __spreadArray=exports&&exports.__spreadArray||function(r,e,t){if(t||arguments.length===2)for(var i=0,n=e.length,s;i{(function(r,e){typeof define=="function"&&define.amd?define([],e):typeof xy=="object"&&xy.exports?xy.exports=e():r.regexpToAst=e()})(typeof self<"u"?self:Mj,function(){function r(){}r.prototype.saveState=function(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}},r.prototype.restoreState=function(p){this.idx=p.idx,this.input=p.input,this.groupIdx=p.groupIdx},r.prototype.pattern=function(p){this.idx=0,this.input=p,this.groupIdx=0,this.consumeChar("/");var C=this.disjunction();this.consumeChar("/");for(var w={type:"Flags",loc:{begin:this.idx,end:p.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};this.isRegExpFlag();)switch(this.popChar()){case"g":o(w,"global");break;case"i":o(w,"ignoreCase");break;case"m":o(w,"multiLine");break;case"u":o(w,"unicode");break;case"y":o(w,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:w,value:C,loc:this.loc(0)}},r.prototype.disjunction=function(){var p=[],C=this.idx;for(p.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),p.push(this.alternative());return{type:"Disjunction",value:p,loc:this.loc(C)}},r.prototype.alternative=function(){for(var p=[],C=this.idx;this.isTerm();)p.push(this.term());return{type:"Alternative",value:p,loc:this.loc(C)}},r.prototype.term=function(){return this.isAssertion()?this.assertion():this.atom()},r.prototype.assertion=function(){var p=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(p)};case"$":return{type:"EndAnchor",loc:this.loc(p)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(p)};case"B":return{type:"NonWordBoundary",loc:this.loc(p)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");var C;switch(this.popChar()){case"=":C="Lookahead";break;case"!":C="NegativeLookahead";break}a(C);var w=this.disjunction();return this.consumeChar(")"),{type:C,value:w,loc:this.loc(p)}}l()},r.prototype.quantifier=function(p){var C,w=this.idx;switch(this.popChar()){case"*":C={atLeast:0,atMost:1/0};break;case"+":C={atLeast:1,atMost:1/0};break;case"?":C={atLeast:0,atMost:1};break;case"{":var B=this.integerIncludingZero();switch(this.popChar()){case"}":C={atLeast:B,atMost:B};break;case",":var v;this.isDigit()?(v=this.integerIncludingZero(),C={atLeast:B,atMost:v}):C={atLeast:B,atMost:1/0},this.consumeChar("}");break}if(p===!0&&C===void 0)return;a(C);break}if(!(p===!0&&C===void 0))return a(C),this.peekChar(0)==="?"?(this.consumeChar("?"),C.greedy=!1):C.greedy=!0,C.type="Quantifier",C.loc=this.loc(w),C},r.prototype.atom=function(){var p,C=this.idx;switch(this.peekChar()){case".":p=this.dotAll();break;case"\\":p=this.atomEscape();break;case"[":p=this.characterClass();break;case"(":p=this.group();break}return p===void 0&&this.isPatternCharacter()&&(p=this.patternCharacter()),a(p),p.loc=this.loc(C),this.isQuantifier()&&(p.quantifier=this.quantifier()),p},r.prototype.dotAll=function(){return this.consumeChar("."),{type:"Set",complement:!0,value:[n(` -`),n("\r"),n("\u2028"),n("\u2029")]}},r.prototype.atomEscape=function(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},r.prototype.decimalEscapeAtom=function(){var p=this.positiveInteger();return{type:"GroupBackReference",value:p}},r.prototype.characterClassEscape=function(){var p,C=!1;switch(this.popChar()){case"d":p=u;break;case"D":p=u,C=!0;break;case"s":p=f;break;case"S":p=f,C=!0;break;case"w":p=g;break;case"W":p=g,C=!0;break}return a(p),{type:"Set",value:p,complement:C}},r.prototype.controlEscapeAtom=function(){var p;switch(this.popChar()){case"f":p=n("\f");break;case"n":p=n(` -`);break;case"r":p=n("\r");break;case"t":p=n(" ");break;case"v":p=n("\v");break}return a(p),{type:"Character",value:p}},r.prototype.controlLetterEscapeAtom=function(){this.consumeChar("c");var p=this.popChar();if(/[a-zA-Z]/.test(p)===!1)throw Error("Invalid ");var C=p.toUpperCase().charCodeAt(0)-64;return{type:"Character",value:C}},r.prototype.nulCharacterAtom=function(){return this.consumeChar("0"),{type:"Character",value:n("\0")}},r.prototype.hexEscapeSequenceAtom=function(){return this.consumeChar("x"),this.parseHexDigits(2)},r.prototype.regExpUnicodeEscapeSequenceAtom=function(){return this.consumeChar("u"),this.parseHexDigits(4)},r.prototype.identityEscapeAtom=function(){var p=this.popChar();return{type:"Character",value:n(p)}},r.prototype.classPatternCharacterAtom=function(){switch(this.peekChar()){case` -`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:var p=this.popChar();return{type:"Character",value:n(p)}}},r.prototype.characterClass=function(){var p=[],C=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),C=!0);this.isClassAtom();){var w=this.classAtom(),B=w.type==="Character";if(B&&this.isRangeDash()){this.consumeChar("-");var v=this.classAtom(),D=v.type==="Character";if(D){if(v.value=this.input.length)throw Error("Unexpected end of input");this.idx++},r.prototype.loc=function(p){return{begin:p,end:this.idx}};var e=/[0-9a-fA-F]/,t=/[0-9]/,i=/[1-9]/;function n(p){return p.charCodeAt(0)}function s(p,C){p.length!==void 0?p.forEach(function(w){C.push(w)}):C.push(p)}function o(p,C){if(p[C]===!0)throw"duplicate flag "+C;p[C]=!0}function a(p){if(p===void 0)throw Error("Internal Error - Should never get here!")}function l(){throw Error("Internal Error - Should never get here!")}var c,u=[];for(c=n("0");c<=n("9");c++)u.push(c);var g=[n("_")].concat(u);for(c=n("a");c<=n("z");c++)g.push(c);for(c=n("A");c<=n("Z");c++)g.push(c);var f=[n(" "),n("\f"),n(` -`),n("\r"),n(" "),n("\v"),n(" "),n("\xA0"),n("\u1680"),n("\u2000"),n("\u2001"),n("\u2002"),n("\u2003"),n("\u2004"),n("\u2005"),n("\u2006"),n("\u2007"),n("\u2008"),n("\u2009"),n("\u200A"),n("\u2028"),n("\u2029"),n("\u202F"),n("\u205F"),n("\u3000"),n("\uFEFF")];function h(){}return h.prototype.visitChildren=function(p){for(var C in p){var w=p[C];p.hasOwnProperty(C)&&(w.type!==void 0?this.visit(w):Array.isArray(w)&&w.forEach(function(B){this.visit(B)},this))}},h.prototype.visit=function(p){switch(p.type){case"Pattern":this.visitPattern(p);break;case"Flags":this.visitFlags(p);break;case"Disjunction":this.visitDisjunction(p);break;case"Alternative":this.visitAlternative(p);break;case"StartAnchor":this.visitStartAnchor(p);break;case"EndAnchor":this.visitEndAnchor(p);break;case"WordBoundary":this.visitWordBoundary(p);break;case"NonWordBoundary":this.visitNonWordBoundary(p);break;case"Lookahead":this.visitLookahead(p);break;case"NegativeLookahead":this.visitNegativeLookahead(p);break;case"Character":this.visitCharacter(p);break;case"Set":this.visitSet(p);break;case"Group":this.visitGroup(p);break;case"GroupBackReference":this.visitGroupBackReference(p);break;case"Quantifier":this.visitQuantifier(p);break}this.visitChildren(p)},h.prototype.visitPattern=function(p){},h.prototype.visitFlags=function(p){},h.prototype.visitDisjunction=function(p){},h.prototype.visitAlternative=function(p){},h.prototype.visitStartAnchor=function(p){},h.prototype.visitEndAnchor=function(p){},h.prototype.visitWordBoundary=function(p){},h.prototype.visitNonWordBoundary=function(p){},h.prototype.visitLookahead=function(p){},h.prototype.visitNegativeLookahead=function(p){},h.prototype.visitCharacter=function(p){},h.prototype.visitSet=function(p){},h.prototype.visitGroup=function(p){},h.prototype.visitGroupBackReference=function(p){},h.prototype.visitQuantifier=function(p){},{RegExpParser:r,BaseRegExpVisitor:h,VERSION:"0.5.0"}})});var ky=y(hf=>{"use strict";Object.defineProperty(hf,"__esModule",{value:!0});hf.clearRegExpParserCache=hf.getRegExpAst=void 0;var tye=Py(),Dy={},rye=new tye.RegExpParser;function iye(r){var e=r.toString();if(Dy.hasOwnProperty(e))return Dy[e];var t=rye.pattern(e);return Dy[e]=t,t}hf.getRegExpAst=iye;function nye(){Dy={}}hf.clearRegExpParserCache=nye});var Yj=y(dn=>{"use strict";var sye=dn&&dn.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(dn,"__esModule",{value:!0});dn.canMatchCharCode=dn.firstCharOptimizedIndices=dn.getOptimizedStartCodesIndices=dn.failedOptimizationPrefixMsg=void 0;var Kj=Py(),As=Gt(),Hj=ky(),Da=wx(),Gj="Complement Sets are not supported for first char optimization";dn.failedOptimizationPrefixMsg=`Unable to use "first char" lexer optimizations: -`;function oye(r,e){e===void 0&&(e=!1);try{var t=(0,Hj.getRegExpAst)(r),i=Fy(t.value,{},t.flags.ignoreCase);return i}catch(s){if(s.message===Gj)e&&(0,As.PRINT_WARNING)(""+dn.failedOptimizationPrefixMsg+(" Unable to optimize: < "+r.toString()+` > -`)+` Complement Sets cannot be automatically optimized. - This will disable the lexer's first char optimizations. - See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{var n="";e&&(n=` - This will disable the lexer's first char optimizations. - See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),(0,As.PRINT_ERROR)(dn.failedOptimizationPrefixMsg+` -`+(" Failed parsing: < "+r.toString()+` > -`)+(" Using the regexp-to-ast library version: "+Kj.VERSION+` -`)+" Please open an issue at: https://github.com/bd82/regexp-to-ast/issues"+n)}}return[]}dn.getOptimizedStartCodesIndices=oye;function Fy(r,e,t){switch(r.type){case"Disjunction":for(var i=0;i=Da.minOptimizationVal)for(var f=u.from>=Da.minOptimizationVal?u.from:Da.minOptimizationVal,h=u.to,p=(0,Da.charCodeToOptimizedIndex)(f),C=(0,Da.charCodeToOptimizedIndex)(h),w=p;w<=C;w++)e[w]=w}}});break;case"Group":Fy(o.value,e,t);break;default:throw Error("Non Exhaustive Match")}var a=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&yx(o)===!1||o.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return(0,As.values)(e)}dn.firstCharOptimizedIndices=Fy;function Ry(r,e,t){var i=(0,Da.charCodeToOptimizedIndex)(r);e[i]=i,t===!0&&aye(r,e)}function aye(r,e){var t=String.fromCharCode(r),i=t.toUpperCase();if(i!==t){var n=(0,Da.charCodeToOptimizedIndex)(i.charCodeAt(0));e[n]=n}else{var s=t.toLowerCase();if(s!==t){var n=(0,Da.charCodeToOptimizedIndex)(s.charCodeAt(0));e[n]=n}}}function Uj(r,e){return(0,As.find)(r.value,function(t){if(typeof t=="number")return(0,As.contains)(e,t);var i=t;return(0,As.find)(e,function(n){return i.from<=n&&n<=i.to})!==void 0})}function yx(r){return r.quantifier&&r.quantifier.atLeast===0?!0:r.value?(0,As.isArray)(r.value)?(0,As.every)(r.value,yx):yx(r.value):!1}var Aye=function(r){sye(e,r);function e(t){var i=r.call(this)||this;return i.targetCharCodes=t,i.found=!1,i}return e.prototype.visitChildren=function(t){if(this.found!==!0){switch(t.type){case"Lookahead":this.visitLookahead(t);return;case"NegativeLookahead":this.visitNegativeLookahead(t);return}r.prototype.visitChildren.call(this,t)}},e.prototype.visitCharacter=function(t){(0,As.contains)(this.targetCharCodes,t.value)&&(this.found=!0)},e.prototype.visitSet=function(t){t.complement?Uj(t,this.targetCharCodes)===void 0&&(this.found=!0):Uj(t,this.targetCharCodes)!==void 0&&(this.found=!0)},e}(Kj.BaseRegExpVisitor);function lye(r,e){if(e instanceof RegExp){var t=(0,Hj.getRegExpAst)(e),i=new Aye(r);return i.visit(t),i.found}else return(0,As.find)(e,function(n){return(0,As.contains)(r,n.charCodeAt(0))})!==void 0}dn.canMatchCharCode=lye});var wx=y(Je=>{"use strict";var jj=Je&&Je.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Je,"__esModule",{value:!0});Je.charCodeToOptimizedIndex=Je.minOptimizationVal=Je.buildLineBreakIssueMessage=Je.LineTerminatorOptimizedTester=Je.isShortPattern=Je.isCustomPattern=Je.cloneEmptyGroups=Je.performWarningRuntimeChecks=Je.performRuntimeChecks=Je.addStickyFlag=Je.addStartOfInput=Je.findUnreachablePatterns=Je.findModesThatDoNotExist=Je.findInvalidGroupType=Je.findDuplicatePatterns=Je.findUnsupportedFlags=Je.findStartOfInputAnchor=Je.findEmptyMatchRegExps=Je.findEndOfInputAnchor=Je.findInvalidPatterns=Je.findMissingPatterns=Je.validatePatterns=Je.analyzeTokenTypes=Je.enableSticky=Je.disableSticky=Je.SUPPORT_STICKY=Je.MODES=Je.DEFAULT_MODE=void 0;var qj=Py(),ir=Jd(),Se=Gt(),pf=Yj(),Jj=ky(),Do="PATTERN";Je.DEFAULT_MODE="defaultMode";Je.MODES="modes";Je.SUPPORT_STICKY=typeof new RegExp("(?:)").sticky=="boolean";function cye(){Je.SUPPORT_STICKY=!1}Je.disableSticky=cye;function uye(){Je.SUPPORT_STICKY=!0}Je.enableSticky=uye;function gye(r,e){e=(0,Se.defaults)(e,{useSticky:Je.SUPPORT_STICKY,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` -`],tracer:function(v,D){return D()}});var t=e.tracer;t("initCharCodeToOptimizedIndexMap",function(){wye()});var i;t("Reject Lexer.NA",function(){i=(0,Se.reject)(r,function(v){return v[Do]===ir.Lexer.NA})});var n=!1,s;t("Transform Patterns",function(){n=!1,s=(0,Se.map)(i,function(v){var D=v[Do];if((0,Se.isRegExp)(D)){var T=D.source;return T.length===1&&T!=="^"&&T!=="$"&&T!=="."&&!D.ignoreCase?T:T.length===2&&T[0]==="\\"&&!(0,Se.contains)(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],T[1])?T[1]:e.useSticky?Qx(D):bx(D)}else{if((0,Se.isFunction)(D))return n=!0,{exec:D};if((0,Se.has)(D,"exec"))return n=!0,D;if(typeof D=="string"){if(D.length===1)return D;var H=D.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),j=new RegExp(H);return e.useSticky?Qx(j):bx(j)}else throw Error("non exhaustive match")}})});var o,a,l,c,u;t("misc mapping",function(){o=(0,Se.map)(i,function(v){return v.tokenTypeIdx}),a=(0,Se.map)(i,function(v){var D=v.GROUP;if(D!==ir.Lexer.SKIPPED){if((0,Se.isString)(D))return D;if((0,Se.isUndefined)(D))return!1;throw Error("non exhaustive match")}}),l=(0,Se.map)(i,function(v){var D=v.LONGER_ALT;if(D){var T=(0,Se.isArray)(D)?(0,Se.map)(D,function(H){return(0,Se.indexOf)(i,H)}):[(0,Se.indexOf)(i,D)];return T}}),c=(0,Se.map)(i,function(v){return v.PUSH_MODE}),u=(0,Se.map)(i,function(v){return(0,Se.has)(v,"POP_MODE")})});var g;t("Line Terminator Handling",function(){var v=oq(e.lineTerminatorCharacters);g=(0,Se.map)(i,function(D){return!1}),e.positionTracking!=="onlyOffset"&&(g=(0,Se.map)(i,function(D){if((0,Se.has)(D,"LINE_BREAKS"))return D.LINE_BREAKS;if(nq(D,v)===!1)return(0,pf.canMatchCharCode)(v,D.PATTERN)}))});var f,h,p,C;t("Misc Mapping #2",function(){f=(0,Se.map)(i,vx),h=(0,Se.map)(s,iq),p=(0,Se.reduce)(i,function(v,D){var T=D.GROUP;return(0,Se.isString)(T)&&T!==ir.Lexer.SKIPPED&&(v[T]=[]),v},{}),C=(0,Se.map)(s,function(v,D){return{pattern:s[D],longerAlt:l[D],canLineTerminator:g[D],isCustom:f[D],short:h[D],group:a[D],push:c[D],pop:u[D],tokenTypeIdx:o[D],tokenType:i[D]}})});var w=!0,B=[];return e.safeMode||t("First Char Optimization",function(){B=(0,Se.reduce)(i,function(v,D,T){if(typeof D.PATTERN=="string"){var H=D.PATTERN.charCodeAt(0),j=Sx(H);Bx(v,j,C[T])}else if((0,Se.isArray)(D.START_CHARS_HINT)){var $;(0,Se.forEach)(D.START_CHARS_HINT,function(W){var Z=typeof W=="string"?W.charCodeAt(0):W,A=Sx(Z);$!==A&&($=A,Bx(v,A,C[T]))})}else if((0,Se.isRegExp)(D.PATTERN))if(D.PATTERN.unicode)w=!1,e.ensureOptimizations&&(0,Se.PRINT_ERROR)(""+pf.failedOptimizationPrefixMsg+(" Unable to analyze < "+D.PATTERN.toString()+` > pattern. -`)+` The regexp unicode flag is not currently supported by the regexp-to-ast library. - This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{var V=(0,pf.getOptimizedStartCodesIndices)(D.PATTERN,e.ensureOptimizations);(0,Se.isEmpty)(V)&&(w=!1),(0,Se.forEach)(V,function(W){Bx(v,W,C[T])})}else e.ensureOptimizations&&(0,Se.PRINT_ERROR)(""+pf.failedOptimizationPrefixMsg+(" TokenType: <"+D.name+`> is using a custom token pattern without providing parameter. -`)+` This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),w=!1;return v},[])}),t("ArrayPacking",function(){B=(0,Se.packArray)(B)}),{emptyGroups:p,patternIdxToConfig:C,charCodeToPatternIdxToConfig:B,hasCustom:n,canBeOptimized:w}}Je.analyzeTokenTypes=gye;function fye(r,e){var t=[],i=Wj(r);t=t.concat(i.errors);var n=zj(i.valid),s=n.valid;return t=t.concat(n.errors),t=t.concat(hye(s)),t=t.concat(eq(s)),t=t.concat(tq(s,e)),t=t.concat(rq(s)),t}Je.validatePatterns=fye;function hye(r){var e=[],t=(0,Se.filter)(r,function(i){return(0,Se.isRegExp)(i[Do])});return e=e.concat(Vj(t)),e=e.concat(_j(t)),e=e.concat(Zj(t)),e=e.concat($j(t)),e=e.concat(Xj(t)),e}function Wj(r){var e=(0,Se.filter)(r,function(n){return!(0,Se.has)(n,Do)}),t=(0,Se.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- missing static 'PATTERN' property",type:ir.LexerDefinitionErrorType.MISSING_PATTERN,tokenTypes:[n]}}),i=(0,Se.difference)(r,e);return{errors:t,valid:i}}Je.findMissingPatterns=Wj;function zj(r){var e=(0,Se.filter)(r,function(n){var s=n[Do];return!(0,Se.isRegExp)(s)&&!(0,Se.isFunction)(s)&&!(0,Se.has)(s,"exec")&&!(0,Se.isString)(s)}),t=(0,Se.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:ir.LexerDefinitionErrorType.INVALID_PATTERN,tokenTypes:[n]}}),i=(0,Se.difference)(r,e);return{errors:t,valid:i}}Je.findInvalidPatterns=zj;var pye=/[^\\][\$]/;function Vj(r){var e=function(n){jj(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitEndAnchor=function(o){this.found=!0},s}(qj.BaseRegExpVisitor),t=(0,Se.filter)(r,function(n){var s=n[Do];try{var o=(0,Jj.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch{return pye.test(s.source)}}),i=(0,Se.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error: - Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain end of input anchor '$' - See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:ir.LexerDefinitionErrorType.EOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Je.findEndOfInputAnchor=Vj;function Xj(r){var e=(0,Se.filter)(r,function(i){var n=i[Do];return n.test("")}),t=(0,Se.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' must not match an empty string",type:ir.LexerDefinitionErrorType.EMPTY_MATCH_PATTERN,tokenTypes:[i]}});return t}Je.findEmptyMatchRegExps=Xj;var dye=/[^\\[][\^]|^\^/;function _j(r){var e=function(n){jj(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitStartAnchor=function(o){this.found=!0},s}(qj.BaseRegExpVisitor),t=(0,Se.filter)(r,function(n){var s=n[Do];try{var o=(0,Jj.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch{return dye.test(s.source)}}),i=(0,Se.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error: - Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain start of input anchor '^' - See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:ir.LexerDefinitionErrorType.SOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Je.findStartOfInputAnchor=_j;function Zj(r){var e=(0,Se.filter)(r,function(i){var n=i[Do];return n instanceof RegExp&&(n.multiline||n.global)}),t=(0,Se.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:ir.LexerDefinitionErrorType.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[i]}});return t}Je.findUnsupportedFlags=Zj;function $j(r){var e=[],t=(0,Se.map)(r,function(s){return(0,Se.reduce)(r,function(o,a){return s.PATTERN.source===a.PATTERN.source&&!(0,Se.contains)(e,a)&&a.PATTERN!==ir.Lexer.NA&&(e.push(a),o.push(a)),o},[])});t=(0,Se.compact)(t);var i=(0,Se.filter)(t,function(s){return s.length>1}),n=(0,Se.map)(i,function(s){var o=(0,Se.map)(s,function(l){return l.name}),a=(0,Se.first)(s).PATTERN;return{message:"The same RegExp pattern ->"+a+"<-"+("has been used in all of the following Token Types: "+o.join(", ")+" <-"),type:ir.LexerDefinitionErrorType.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}});return n}Je.findDuplicatePatterns=$j;function eq(r){var e=(0,Se.filter)(r,function(i){if(!(0,Se.has)(i,"GROUP"))return!1;var n=i.GROUP;return n!==ir.Lexer.SKIPPED&&n!==ir.Lexer.NA&&!(0,Se.isString)(n)}),t=(0,Se.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:ir.LexerDefinitionErrorType.INVALID_GROUP_TYPE_FOUND,tokenTypes:[i]}});return t}Je.findInvalidGroupType=eq;function tq(r,e){var t=(0,Se.filter)(r,function(n){return n.PUSH_MODE!==void 0&&!(0,Se.contains)(e,n.PUSH_MODE)}),i=(0,Se.map)(t,function(n){var s="Token Type: ->"+n.name+"<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->"+n.PUSH_MODE+"<-which does not exist";return{message:s,type:ir.LexerDefinitionErrorType.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}});return i}Je.findModesThatDoNotExist=tq;function rq(r){var e=[],t=(0,Se.reduce)(r,function(i,n,s){var o=n.PATTERN;return o===ir.Lexer.NA||((0,Se.isString)(o)?i.push({str:o,idx:s,tokenType:n}):(0,Se.isRegExp)(o)&&mye(o)&&i.push({str:o.source,idx:s,tokenType:n})),i},[]);return(0,Se.forEach)(r,function(i,n){(0,Se.forEach)(t,function(s){var o=s.str,a=s.idx,l=s.tokenType;if(n"+i.name+"<-")+`in the lexer's definition. -See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:ir.LexerDefinitionErrorType.UNREACHABLE_PATTERN,tokenTypes:[i,l]})}})}),e}Je.findUnreachablePatterns=rq;function Cye(r,e){if((0,Se.isRegExp)(e)){var t=e.exec(r);return t!==null&&t.index===0}else{if((0,Se.isFunction)(e))return e(r,0,[],{});if((0,Se.has)(e,"exec"))return e.exec(r,0,[],{});if(typeof e=="string")return e===r;throw Error("non exhaustive match")}}function mye(r){var e=[".","\\","[","]","|","^","$","(",")","?","*","+","{"];return(0,Se.find)(e,function(t){return r.source.indexOf(t)!==-1})===void 0}function bx(r){var e=r.ignoreCase?"i":"";return new RegExp("^(?:"+r.source+")",e)}Je.addStartOfInput=bx;function Qx(r){var e=r.ignoreCase?"iy":"y";return new RegExp(""+r.source,e)}Je.addStickyFlag=Qx;function Eye(r,e,t){var i=[];return(0,Se.has)(r,Je.DEFAULT_MODE)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Je.DEFAULT_MODE+`> property in its definition -`,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,Se.has)(r,Je.MODES)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Je.MODES+`> property in its definition -`,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,Se.has)(r,Je.MODES)&&(0,Se.has)(r,Je.DEFAULT_MODE)&&!(0,Se.has)(r.modes,r.defaultMode)&&i.push({message:"A MultiMode Lexer cannot be initialized with a "+Je.DEFAULT_MODE+": <"+r.defaultMode+`>which does not exist -`,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,Se.has)(r,Je.MODES)&&(0,Se.forEach)(r.modes,function(n,s){(0,Se.forEach)(n,function(o,a){(0,Se.isUndefined)(o)&&i.push({message:"A Lexer cannot be initialized using an undefined Token Type. Mode:"+("<"+s+"> at index: <"+a+`> -`),type:ir.LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED})})}),i}Je.performRuntimeChecks=Eye;function Iye(r,e,t){var i=[],n=!1,s=(0,Se.compact)((0,Se.flatten)((0,Se.mapValues)(r.modes,function(l){return l}))),o=(0,Se.reject)(s,function(l){return l[Do]===ir.Lexer.NA}),a=oq(t);return e&&(0,Se.forEach)(o,function(l){var c=nq(l,a);if(c!==!1){var u=sq(l,c),g={message:u,type:c.issue,tokenType:l};i.push(g)}else(0,Se.has)(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(n=!0):(0,pf.canMatchCharCode)(a,l.PATTERN)&&(n=!0)}),e&&!n&&i.push({message:`Warning: No LINE_BREAKS Found. - This Lexer has been defined to track line and column information, - But none of the Token Types can be identified as matching a line terminator. - See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS - for details.`,type:ir.LexerDefinitionErrorType.NO_LINE_BREAKS_FLAGS}),i}Je.performWarningRuntimeChecks=Iye;function yye(r){var e={},t=(0,Se.keys)(r);return(0,Se.forEach)(t,function(i){var n=r[i];if((0,Se.isArray)(n))e[i]=[];else throw Error("non exhaustive match")}),e}Je.cloneEmptyGroups=yye;function vx(r){var e=r.PATTERN;if((0,Se.isRegExp)(e))return!1;if((0,Se.isFunction)(e))return!0;if((0,Se.has)(e,"exec"))return!0;if((0,Se.isString)(e))return!1;throw Error("non exhaustive match")}Je.isCustomPattern=vx;function iq(r){return(0,Se.isString)(r)&&r.length===1?r.charCodeAt(0):!1}Je.isShortPattern=iq;Je.LineTerminatorOptimizedTester={test:function(r){for(var e=r.length,t=this.lastIndex;t Token Type -`)+(" Root cause: "+e.errMsg+`. -`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR";if(e.issue===ir.LexerDefinitionErrorType.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. -`+(" The problem is in the <"+r.name+`> Token Type -`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK";throw Error("non exhaustive match")}Je.buildLineBreakIssueMessage=sq;function oq(r){var e=(0,Se.map)(r,function(t){return(0,Se.isString)(t)&&t.length>0?t.charCodeAt(0):t});return e}function Bx(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}Je.minOptimizationVal=256;var Ny=[];function Sx(r){return r255?255+~~(r/255):r}}});var df=y(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.isTokenType=Nt.hasExtendingTokensTypesMapProperty=Nt.hasExtendingTokensTypesProperty=Nt.hasCategoriesProperty=Nt.hasShortKeyProperty=Nt.singleAssignCategoriesToksMap=Nt.assignCategoriesMapProp=Nt.assignCategoriesTokensProp=Nt.assignTokenDefaultProps=Nt.expandCategories=Nt.augmentTokenTypes=Nt.tokenIdxToClass=Nt.tokenShortNameIdx=Nt.tokenStructuredMatcherNoCategories=Nt.tokenStructuredMatcher=void 0;var ei=Gt();function Bye(r,e){var t=r.tokenTypeIdx;return t===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[t]===!0}Nt.tokenStructuredMatcher=Bye;function bye(r,e){return r.tokenTypeIdx===e.tokenTypeIdx}Nt.tokenStructuredMatcherNoCategories=bye;Nt.tokenShortNameIdx=1;Nt.tokenIdxToClass={};function Qye(r){var e=aq(r);Aq(e),cq(e),lq(e),(0,ei.forEach)(e,function(t){t.isParent=t.categoryMatches.length>0})}Nt.augmentTokenTypes=Qye;function aq(r){for(var e=(0,ei.cloneArr)(r),t=r,i=!0;i;){t=(0,ei.compact)((0,ei.flatten)((0,ei.map)(t,function(s){return s.CATEGORIES})));var n=(0,ei.difference)(t,e);e=e.concat(n),(0,ei.isEmpty)(n)?i=!1:t=n}return e}Nt.expandCategories=aq;function Aq(r){(0,ei.forEach)(r,function(e){uq(e)||(Nt.tokenIdxToClass[Nt.tokenShortNameIdx]=e,e.tokenTypeIdx=Nt.tokenShortNameIdx++),xx(e)&&!(0,ei.isArray)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),xx(e)||(e.CATEGORIES=[]),gq(e)||(e.categoryMatches=[]),fq(e)||(e.categoryMatchesMap={})})}Nt.assignTokenDefaultProps=Aq;function lq(r){(0,ei.forEach)(r,function(e){e.categoryMatches=[],(0,ei.forEach)(e.categoryMatchesMap,function(t,i){e.categoryMatches.push(Nt.tokenIdxToClass[i].tokenTypeIdx)})})}Nt.assignCategoriesTokensProp=lq;function cq(r){(0,ei.forEach)(r,function(e){Px([],e)})}Nt.assignCategoriesMapProp=cq;function Px(r,e){(0,ei.forEach)(r,function(t){e.categoryMatchesMap[t.tokenTypeIdx]=!0}),(0,ei.forEach)(e.CATEGORIES,function(t){var i=r.concat(e);(0,ei.contains)(i,t)||Px(i,t)})}Nt.singleAssignCategoriesToksMap=Px;function uq(r){return(0,ei.has)(r,"tokenTypeIdx")}Nt.hasShortKeyProperty=uq;function xx(r){return(0,ei.has)(r,"CATEGORIES")}Nt.hasCategoriesProperty=xx;function gq(r){return(0,ei.has)(r,"categoryMatches")}Nt.hasExtendingTokensTypesProperty=gq;function fq(r){return(0,ei.has)(r,"categoryMatchesMap")}Nt.hasExtendingTokensTypesMapProperty=fq;function Sye(r){return(0,ei.has)(r,"tokenTypeIdx")}Nt.isTokenType=Sye});var Dx=y(Ty=>{"use strict";Object.defineProperty(Ty,"__esModule",{value:!0});Ty.defaultLexerErrorProvider=void 0;Ty.defaultLexerErrorProvider={buildUnableToPopLexerModeMessage:function(r){return"Unable to pop Lexer Mode after encountering Token ->"+r.image+"<- The Mode Stack is empty"},buildUnexpectedCharactersMessage:function(r,e,t,i,n){return"unexpected character: ->"+r.charAt(e)+"<- at offset: "+e+","+(" skipped "+t+" characters.")}}});var Jd=y(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.Lexer=Rc.LexerDefinitionErrorType=void 0;var Vs=wx(),nr=Gt(),vye=df(),xye=Dx(),Pye=ky(),Dye;(function(r){r[r.MISSING_PATTERN=0]="MISSING_PATTERN",r[r.INVALID_PATTERN=1]="INVALID_PATTERN",r[r.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",r[r.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",r[r.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",r[r.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",r[r.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",r[r.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",r[r.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",r[r.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",r[r.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",r[r.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",r[r.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",r[r.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",r[r.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",r[r.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",r[r.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK"})(Dye=Rc.LexerDefinitionErrorType||(Rc.LexerDefinitionErrorType={}));var Wd={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` -`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:xye.defaultLexerErrorProvider,traceInitPerf:!1,skipValidations:!1};Object.freeze(Wd);var kye=function(){function r(e,t){var i=this;if(t===void 0&&(t=Wd),this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.config=void 0,this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},typeof t=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. -a boolean 2nd argument is no longer supported`);this.config=(0,nr.merge)(Wd,t);var n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",function(){var s,o=!0;i.TRACE_INIT("Lexer Config handling",function(){if(i.config.lineTerminatorsPattern===Wd.lineTerminatorsPattern)i.config.lineTerminatorsPattern=Vs.LineTerminatorOptimizedTester;else if(i.config.lineTerminatorCharacters===Wd.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');i.trackStartLines=/full|onlyStart/i.test(i.config.positionTracking),i.trackEndLines=/full/i.test(i.config.positionTracking),(0,nr.isArray)(e)?(s={modes:{}},s.modes[Vs.DEFAULT_MODE]=(0,nr.cloneArr)(e),s[Vs.DEFAULT_MODE]=Vs.DEFAULT_MODE):(o=!1,s=(0,nr.cloneObj)(e))}),i.config.skipValidations===!1&&(i.TRACE_INIT("performRuntimeChecks",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,Vs.performRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))}),i.TRACE_INIT("performWarningRuntimeChecks",function(){i.lexerDefinitionWarning=i.lexerDefinitionWarning.concat((0,Vs.performWarningRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))})),s.modes=s.modes?s.modes:{},(0,nr.forEach)(s.modes,function(u,g){s.modes[g]=(0,nr.reject)(u,function(f){return(0,nr.isUndefined)(f)})});var a=(0,nr.keys)(s.modes);if((0,nr.forEach)(s.modes,function(u,g){i.TRACE_INIT("Mode: <"+g+"> processing",function(){if(i.modes.push(g),i.config.skipValidations===!1&&i.TRACE_INIT("validatePatterns",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,Vs.validatePatterns)(u,a))}),(0,nr.isEmpty)(i.lexerDefinitionErrors)){(0,vye.augmentTokenTypes)(u);var f;i.TRACE_INIT("analyzeTokenTypes",function(){f=(0,Vs.analyzeTokenTypes)(u,{lineTerminatorCharacters:i.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:i.TRACE_INIT.bind(i)})}),i.patternIdxToConfig[g]=f.patternIdxToConfig,i.charCodeToPatternIdxToConfig[g]=f.charCodeToPatternIdxToConfig,i.emptyGroups=(0,nr.merge)(i.emptyGroups,f.emptyGroups),i.hasCustom=f.hasCustom||i.hasCustom,i.canModeBeOptimized[g]=f.canBeOptimized}})}),i.defaultMode=s.defaultMode,!(0,nr.isEmpty)(i.lexerDefinitionErrors)&&!i.config.deferDefinitionErrorsHandling){var l=(0,nr.map)(i.lexerDefinitionErrors,function(u){return u.message}),c=l.join(`----------------------- -`);throw new Error(`Errors detected in definition of Lexer: -`+c)}(0,nr.forEach)(i.lexerDefinitionWarning,function(u){(0,nr.PRINT_WARNING)(u.message)}),i.TRACE_INIT("Choosing sub-methods implementations",function(){if(Vs.SUPPORT_STICKY?(i.chopInput=nr.IDENTITY,i.match=i.matchWithTest):(i.updateLastIndex=nr.NOOP,i.match=i.matchWithExec),o&&(i.handleModes=nr.NOOP),i.trackStartLines===!1&&(i.computeNewColumn=nr.IDENTITY),i.trackEndLines===!1&&(i.updateTokenEndLineColumnLocation=nr.NOOP),/full/i.test(i.config.positionTracking))i.createTokenInstance=i.createFullToken;else if(/onlyStart/i.test(i.config.positionTracking))i.createTokenInstance=i.createStartOnlyToken;else if(/onlyOffset/i.test(i.config.positionTracking))i.createTokenInstance=i.createOffsetOnlyToken;else throw Error('Invalid config option: "'+i.config.positionTracking+'"');i.hasCustom?(i.addToken=i.addTokenUsingPush,i.handlePayload=i.handlePayloadWithCustom):(i.addToken=i.addTokenUsingMemberAccess,i.handlePayload=i.handlePayloadNoCustom)}),i.TRACE_INIT("Failed Optimization Warnings",function(){var u=(0,nr.reduce)(i.canModeBeOptimized,function(g,f,h){return f===!1&&g.push(h),g},[]);if(t.ensureOptimizations&&!(0,nr.isEmpty)(u))throw Error("Lexer Modes: < "+u.join(", ")+` > cannot be optimized. - Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. - Or inspect the console log for details on how to resolve these issues.`)}),i.TRACE_INIT("clearRegExpParserCache",function(){(0,Pye.clearRegExpParserCache)()}),i.TRACE_INIT("toFastProperties",function(){(0,nr.toFastProperties)(i)})})}return r.prototype.tokenize=function(e,t){if(t===void 0&&(t=this.defaultMode),!(0,nr.isEmpty)(this.lexerDefinitionErrors)){var i=(0,nr.map)(this.lexerDefinitionErrors,function(o){return o.message}),n=i.join(`----------------------- -`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: -`+n)}var s=this.tokenizeInternal(e,t);return s},r.prototype.tokenizeInternal=function(e,t){var i=this,n,s,o,a,l,c,u,g,f,h,p,C,w,B,v,D,T=e,H=T.length,j=0,$=0,V=this.hasCustom?0:Math.floor(e.length/10),W=new Array(V),Z=[],A=this.trackStartLines?1:void 0,ae=this.trackStartLines?1:void 0,ge=(0,Vs.cloneEmptyGroups)(this.emptyGroups),_=this.trackStartLines,L=this.config.lineTerminatorsPattern,N=0,ue=[],we=[],Te=[],Pe=[];Object.freeze(Pe);var Le=void 0;function se(){return ue}function Ae(dr){var Bi=(0,Vs.charCodeToOptimizedIndex)(dr),_n=we[Bi];return _n===void 0?Pe:_n}var be=function(dr){if(Te.length===1&&dr.tokenType.PUSH_MODE===void 0){var Bi=i.config.errorMessageProvider.buildUnableToPopLexerModeMessage(dr);Z.push({offset:dr.startOffset,line:dr.startLine!==void 0?dr.startLine:void 0,column:dr.startColumn!==void 0?dr.startColumn:void 0,length:dr.image.length,message:Bi})}else{Te.pop();var _n=(0,nr.last)(Te);ue=i.patternIdxToConfig[_n],we=i.charCodeToPatternIdxToConfig[_n],N=ue.length;var pa=i.canModeBeOptimized[_n]&&i.config.safeMode===!1;we&&pa?Le=Ae:Le=se}};function fe(dr){Te.push(dr),we=this.charCodeToPatternIdxToConfig[dr],ue=this.patternIdxToConfig[dr],N=ue.length,N=ue.length;var Bi=this.canModeBeOptimized[dr]&&this.config.safeMode===!1;we&&Bi?Le=Ae:Le=se}fe.call(this,t);for(var le;jc.length){c=a,u=g,le=tt;break}}}break}}if(c!==null){if(f=c.length,h=le.group,h!==void 0&&(p=le.tokenTypeIdx,C=this.createTokenInstance(c,j,p,le.tokenType,A,ae,f),this.handlePayload(C,u),h===!1?$=this.addToken(W,$,C):ge[h].push(C)),e=this.chopInput(e,f),j=j+f,ae=this.computeNewColumn(ae,f),_===!0&&le.canLineTerminator===!0){var It=0,Ur=void 0,oi=void 0;L.lastIndex=0;do Ur=L.test(c),Ur===!0&&(oi=L.lastIndex-1,It++);while(Ur===!0);It!==0&&(A=A+It,ae=f-oi,this.updateTokenEndLineColumnLocation(C,h,oi,It,A,ae,f))}this.handleModes(le,be,fe,C)}else{for(var pi=j,pr=A,di=ae,ai=!1;!ai&&j <"+e+">");var n=(0,nr.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return t()},r.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",r.NA=/NOT_APPLICABLE/,r}();Rc.Lexer=kye});var HA=y(Si=>{"use strict";Object.defineProperty(Si,"__esModule",{value:!0});Si.tokenMatcher=Si.createTokenInstance=Si.EOF=Si.createToken=Si.hasTokenLabel=Si.tokenName=Si.tokenLabel=void 0;var Xs=Gt(),Rye=Jd(),kx=df();function Fye(r){return wq(r)?r.LABEL:r.name}Si.tokenLabel=Fye;function Nye(r){return r.name}Si.tokenName=Nye;function wq(r){return(0,Xs.isString)(r.LABEL)&&r.LABEL!==""}Si.hasTokenLabel=wq;var Tye="parent",hq="categories",pq="label",dq="group",Cq="push_mode",mq="pop_mode",Eq="longer_alt",Iq="line_breaks",yq="start_chars_hint";function Bq(r){return Lye(r)}Si.createToken=Bq;function Lye(r){var e=r.pattern,t={};if(t.name=r.name,(0,Xs.isUndefined)(e)||(t.PATTERN=e),(0,Xs.has)(r,Tye))throw`The parent property is no longer supported. -See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return(0,Xs.has)(r,hq)&&(t.CATEGORIES=r[hq]),(0,kx.augmentTokenTypes)([t]),(0,Xs.has)(r,pq)&&(t.LABEL=r[pq]),(0,Xs.has)(r,dq)&&(t.GROUP=r[dq]),(0,Xs.has)(r,mq)&&(t.POP_MODE=r[mq]),(0,Xs.has)(r,Cq)&&(t.PUSH_MODE=r[Cq]),(0,Xs.has)(r,Eq)&&(t.LONGER_ALT=r[Eq]),(0,Xs.has)(r,Iq)&&(t.LINE_BREAKS=r[Iq]),(0,Xs.has)(r,yq)&&(t.START_CHARS_HINT=r[yq]),t}Si.EOF=Bq({name:"EOF",pattern:Rye.Lexer.NA});(0,kx.augmentTokenTypes)([Si.EOF]);function Oye(r,e,t,i,n,s,o,a){return{image:e,startOffset:t,endOffset:i,startLine:n,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:r.tokenTypeIdx,tokenType:r}}Si.createTokenInstance=Oye;function Mye(r,e){return(0,kx.tokenStructuredMatcher)(r,e)}Si.tokenMatcher=Mye});var Cn=y(Wt=>{"use strict";var ka=Wt&&Wt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Wt,"__esModule",{value:!0});Wt.serializeProduction=Wt.serializeGrammar=Wt.Terminal=Wt.Alternation=Wt.RepetitionWithSeparator=Wt.Repetition=Wt.RepetitionMandatoryWithSeparator=Wt.RepetitionMandatory=Wt.Option=Wt.Alternative=Wt.Rule=Wt.NonTerminal=Wt.AbstractProduction=void 0;var lr=Gt(),Uye=HA(),ko=function(){function r(e){this._definition=e}return Object.defineProperty(r.prototype,"definition",{get:function(){return this._definition},set:function(e){this._definition=e},enumerable:!1,configurable:!0}),r.prototype.accept=function(e){e.visit(this),(0,lr.forEach)(this.definition,function(t){t.accept(e)})},r}();Wt.AbstractProduction=ko;var bq=function(r){ka(e,r);function e(t){var i=r.call(this,[])||this;return i.idx=1,(0,lr.assign)(i,(0,lr.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this.referencedRule!==void 0?this.referencedRule.definition:[]},set:function(t){},enumerable:!1,configurable:!0}),e.prototype.accept=function(t){t.visit(this)},e}(ko);Wt.NonTerminal=bq;var Qq=function(r){ka(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.orgText="",(0,lr.assign)(i,(0,lr.pick)(t,function(n){return n!==void 0})),i}return e}(ko);Wt.Rule=Qq;var Sq=function(r){ka(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.ignoreAmbiguities=!1,(0,lr.assign)(i,(0,lr.pick)(t,function(n){return n!==void 0})),i}return e}(ko);Wt.Alternative=Sq;var vq=function(r){ka(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,lr.assign)(i,(0,lr.pick)(t,function(n){return n!==void 0})),i}return e}(ko);Wt.Option=vq;var xq=function(r){ka(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,lr.assign)(i,(0,lr.pick)(t,function(n){return n!==void 0})),i}return e}(ko);Wt.RepetitionMandatory=xq;var Pq=function(r){ka(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,lr.assign)(i,(0,lr.pick)(t,function(n){return n!==void 0})),i}return e}(ko);Wt.RepetitionMandatoryWithSeparator=Pq;var Dq=function(r){ka(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,lr.assign)(i,(0,lr.pick)(t,function(n){return n!==void 0})),i}return e}(ko);Wt.Repetition=Dq;var kq=function(r){ka(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,lr.assign)(i,(0,lr.pick)(t,function(n){return n!==void 0})),i}return e}(ko);Wt.RepetitionWithSeparator=kq;var Rq=function(r){ka(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,i.ignoreAmbiguities=!1,i.hasPredicates=!1,(0,lr.assign)(i,(0,lr.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this._definition},set:function(t){this._definition=t},enumerable:!1,configurable:!0}),e}(ko);Wt.Alternation=Rq;var Ly=function(){function r(e){this.idx=1,(0,lr.assign)(this,(0,lr.pick)(e,function(t){return t!==void 0}))}return r.prototype.accept=function(e){e.visit(this)},r}();Wt.Terminal=Ly;function Kye(r){return(0,lr.map)(r,zd)}Wt.serializeGrammar=Kye;function zd(r){function e(s){return(0,lr.map)(s,zd)}if(r instanceof bq){var t={type:"NonTerminal",name:r.nonTerminalName,idx:r.idx};return(0,lr.isString)(r.label)&&(t.label=r.label),t}else{if(r instanceof Sq)return{type:"Alternative",definition:e(r.definition)};if(r instanceof vq)return{type:"Option",idx:r.idx,definition:e(r.definition)};if(r instanceof xq)return{type:"RepetitionMandatory",idx:r.idx,definition:e(r.definition)};if(r instanceof Pq)return{type:"RepetitionMandatoryWithSeparator",idx:r.idx,separator:zd(new Ly({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof kq)return{type:"RepetitionWithSeparator",idx:r.idx,separator:zd(new Ly({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof Dq)return{type:"Repetition",idx:r.idx,definition:e(r.definition)};if(r instanceof Rq)return{type:"Alternation",idx:r.idx,definition:e(r.definition)};if(r instanceof Ly){var i={type:"Terminal",name:r.terminalType.name,label:(0,Uye.tokenLabel)(r.terminalType),idx:r.idx};(0,lr.isString)(r.label)&&(i.terminalLabel=r.label);var n=r.terminalType.PATTERN;return r.terminalType.PATTERN&&(i.pattern=(0,lr.isRegExp)(n)?n.source:n),i}else{if(r instanceof Qq)return{type:"Rule",name:r.name,orgText:r.orgText,definition:e(r.definition)};throw Error("non exhaustive match")}}}Wt.serializeProduction=zd});var My=y(Oy=>{"use strict";Object.defineProperty(Oy,"__esModule",{value:!0});Oy.RestWalker=void 0;var Rx=Gt(),mn=Cn(),Hye=function(){function r(){}return r.prototype.walk=function(e,t){var i=this;t===void 0&&(t=[]),(0,Rx.forEach)(e.definition,function(n,s){var o=(0,Rx.drop)(e.definition,s+1);if(n instanceof mn.NonTerminal)i.walkProdRef(n,o,t);else if(n instanceof mn.Terminal)i.walkTerminal(n,o,t);else if(n instanceof mn.Alternative)i.walkFlat(n,o,t);else if(n instanceof mn.Option)i.walkOption(n,o,t);else if(n instanceof mn.RepetitionMandatory)i.walkAtLeastOne(n,o,t);else if(n instanceof mn.RepetitionMandatoryWithSeparator)i.walkAtLeastOneSep(n,o,t);else if(n instanceof mn.RepetitionWithSeparator)i.walkManySep(n,o,t);else if(n instanceof mn.Repetition)i.walkMany(n,o,t);else if(n instanceof mn.Alternation)i.walkOr(n,o,t);else throw Error("non exhaustive match")})},r.prototype.walkTerminal=function(e,t,i){},r.prototype.walkProdRef=function(e,t,i){},r.prototype.walkFlat=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkOption=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkAtLeastOne=function(e,t,i){var n=[new mn.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkAtLeastOneSep=function(e,t,i){var n=Fq(e,t,i);this.walk(e,n)},r.prototype.walkMany=function(e,t,i){var n=[new mn.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkManySep=function(e,t,i){var n=Fq(e,t,i);this.walk(e,n)},r.prototype.walkOr=function(e,t,i){var n=this,s=t.concat(i);(0,Rx.forEach)(e.definition,function(o){var a=new mn.Alternative({definition:[o]});n.walk(a,s)})},r}();Oy.RestWalker=Hye;function Fq(r,e,t){var i=[new mn.Option({definition:[new mn.Terminal({terminalType:r.separator})].concat(r.definition)})],n=i.concat(e,t);return n}});var Cf=y(Uy=>{"use strict";Object.defineProperty(Uy,"__esModule",{value:!0});Uy.GAstVisitor=void 0;var Ro=Cn(),Gye=function(){function r(){}return r.prototype.visit=function(e){var t=e;switch(t.constructor){case Ro.NonTerminal:return this.visitNonTerminal(t);case Ro.Alternative:return this.visitAlternative(t);case Ro.Option:return this.visitOption(t);case Ro.RepetitionMandatory:return this.visitRepetitionMandatory(t);case Ro.RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(t);case Ro.RepetitionWithSeparator:return this.visitRepetitionWithSeparator(t);case Ro.Repetition:return this.visitRepetition(t);case Ro.Alternation:return this.visitAlternation(t);case Ro.Terminal:return this.visitTerminal(t);case Ro.Rule:return this.visitRule(t);default:throw Error("non exhaustive match")}},r.prototype.visitNonTerminal=function(e){},r.prototype.visitAlternative=function(e){},r.prototype.visitOption=function(e){},r.prototype.visitRepetition=function(e){},r.prototype.visitRepetitionMandatory=function(e){},r.prototype.visitRepetitionMandatoryWithSeparator=function(e){},r.prototype.visitRepetitionWithSeparator=function(e){},r.prototype.visitAlternation=function(e){},r.prototype.visitTerminal=function(e){},r.prototype.visitRule=function(e){},r}();Uy.GAstVisitor=Gye});var Xd=y(Ui=>{"use strict";var Yye=Ui&&Ui.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Ui,"__esModule",{value:!0});Ui.collectMethods=Ui.DslMethodsCollectorVisitor=Ui.getProductionDslName=Ui.isBranchingProd=Ui.isOptionalProd=Ui.isSequenceProd=void 0;var Vd=Gt(),Qr=Cn(),jye=Cf();function qye(r){return r instanceof Qr.Alternative||r instanceof Qr.Option||r instanceof Qr.Repetition||r instanceof Qr.RepetitionMandatory||r instanceof Qr.RepetitionMandatoryWithSeparator||r instanceof Qr.RepetitionWithSeparator||r instanceof Qr.Terminal||r instanceof Qr.Rule}Ui.isSequenceProd=qye;function Fx(r,e){e===void 0&&(e=[]);var t=r instanceof Qr.Option||r instanceof Qr.Repetition||r instanceof Qr.RepetitionWithSeparator;return t?!0:r instanceof Qr.Alternation?(0,Vd.some)(r.definition,function(i){return Fx(i,e)}):r instanceof Qr.NonTerminal&&(0,Vd.contains)(e,r)?!1:r instanceof Qr.AbstractProduction?(r instanceof Qr.NonTerminal&&e.push(r),(0,Vd.every)(r.definition,function(i){return Fx(i,e)})):!1}Ui.isOptionalProd=Fx;function Jye(r){return r instanceof Qr.Alternation}Ui.isBranchingProd=Jye;function Wye(r){if(r instanceof Qr.NonTerminal)return"SUBRULE";if(r instanceof Qr.Option)return"OPTION";if(r instanceof Qr.Alternation)return"OR";if(r instanceof Qr.RepetitionMandatory)return"AT_LEAST_ONE";if(r instanceof Qr.RepetitionMandatoryWithSeparator)return"AT_LEAST_ONE_SEP";if(r instanceof Qr.RepetitionWithSeparator)return"MANY_SEP";if(r instanceof Qr.Repetition)return"MANY";if(r instanceof Qr.Terminal)return"CONSUME";throw Error("non exhaustive match")}Ui.getProductionDslName=Wye;var Nq=function(r){Yye(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.separator="-",t.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]},t}return e.prototype.reset=function(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}},e.prototype.visitTerminal=function(t){var i=t.terminalType.name+this.separator+"Terminal";(0,Vd.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitNonTerminal=function(t){var i=t.nonTerminalName+this.separator+"Terminal";(0,Vd.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitOption=function(t){this.dslMethods.option.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.dslMethods.repetitionWithSeparator.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.dslMethods.repetitionMandatory.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.dslMethods.repetitionMandatoryWithSeparator.push(t)},e.prototype.visitRepetition=function(t){this.dslMethods.repetition.push(t)},e.prototype.visitAlternation=function(t){this.dslMethods.alternation.push(t)},e}(jye.GAstVisitor);Ui.DslMethodsCollectorVisitor=Nq;var Ky=new Nq;function zye(r){Ky.reset(),r.accept(Ky);var e=Ky.dslMethods;return Ky.reset(),e}Ui.collectMethods=zye});var Tx=y(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.firstForTerminal=Fo.firstForBranching=Fo.firstForSequence=Fo.first=void 0;var Hy=Gt(),Tq=Cn(),Nx=Xd();function Gy(r){if(r instanceof Tq.NonTerminal)return Gy(r.referencedRule);if(r instanceof Tq.Terminal)return Mq(r);if((0,Nx.isSequenceProd)(r))return Lq(r);if((0,Nx.isBranchingProd)(r))return Oq(r);throw Error("non exhaustive match")}Fo.first=Gy;function Lq(r){for(var e=[],t=r.definition,i=0,n=t.length>i,s,o=!0;n&&o;)s=t[i],o=(0,Nx.isOptionalProd)(s),e=e.concat(Gy(s)),i=i+1,n=t.length>i;return(0,Hy.uniq)(e)}Fo.firstForSequence=Lq;function Oq(r){var e=(0,Hy.map)(r.definition,function(t){return Gy(t)});return(0,Hy.uniq)((0,Hy.flatten)(e))}Fo.firstForBranching=Oq;function Mq(r){return[r.terminalType]}Fo.firstForTerminal=Mq});var Lx=y(Yy=>{"use strict";Object.defineProperty(Yy,"__esModule",{value:!0});Yy.IN=void 0;Yy.IN="_~IN~_"});var Yq=y(ls=>{"use strict";var Vye=ls&&ls.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(ls,"__esModule",{value:!0});ls.buildInProdFollowPrefix=ls.buildBetweenProdsFollowPrefix=ls.computeAllProdsFollows=ls.ResyncFollowsWalker=void 0;var Xye=My(),_ye=Tx(),Uq=Gt(),Kq=Lx(),Zye=Cn(),Hq=function(r){Vye(e,r);function e(t){var i=r.call(this)||this;return i.topProd=t,i.follows={},i}return e.prototype.startWalking=function(){return this.walk(this.topProd),this.follows},e.prototype.walkTerminal=function(t,i,n){},e.prototype.walkProdRef=function(t,i,n){var s=Gq(t.referencedRule,t.idx)+this.topProd.name,o=i.concat(n),a=new Zye.Alternative({definition:o}),l=(0,_ye.first)(a);this.follows[s]=l},e}(Xye.RestWalker);ls.ResyncFollowsWalker=Hq;function $ye(r){var e={};return(0,Uq.forEach)(r,function(t){var i=new Hq(t).startWalking();(0,Uq.assign)(e,i)}),e}ls.computeAllProdsFollows=$ye;function Gq(r,e){return r.name+e+Kq.IN}ls.buildBetweenProdsFollowPrefix=Gq;function ewe(r){var e=r.terminalType.name;return e+r.idx+Kq.IN}ls.buildInProdFollowPrefix=ewe});var _d=y(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.defaultGrammarValidatorErrorProvider=Ra.defaultGrammarResolverErrorProvider=Ra.defaultParserErrorProvider=void 0;var mf=HA(),twe=Gt(),_s=Gt(),Ox=Cn(),jq=Xd();Ra.defaultParserErrorProvider={buildMismatchTokenMessage:function(r){var e=r.expected,t=r.actual,i=r.previous,n=r.ruleName,s=(0,mf.hasTokenLabel)(e),o=s?"--> "+(0,mf.tokenLabel)(e)+" <--":"token of type --> "+e.name+" <--",a="Expecting "+o+" but found --> '"+t.image+"' <--";return a},buildNotAllInputParsedMessage:function(r){var e=r.firstRedundant,t=r.ruleName;return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage:function(r){var e=r.expectedPathsPerAlt,t=r.actual,i=r.previous,n=r.customUserDescription,s=r.ruleName,o="Expecting: ",a=(0,_s.first)(t).image,l=` -but found: '`+a+"'";if(n)return o+n+l;var c=(0,_s.reduce)(e,function(h,p){return h.concat(p)},[]),u=(0,_s.map)(c,function(h){return"["+(0,_s.map)(h,function(p){return(0,mf.tokenLabel)(p)}).join(", ")+"]"}),g=(0,_s.map)(u,function(h,p){return" "+(p+1)+". "+h}),f=`one of these possible Token sequences: -`+g.join(` -`);return o+f+l},buildEarlyExitMessage:function(r){var e=r.expectedIterationPaths,t=r.actual,i=r.customUserDescription,n=r.ruleName,s="Expecting: ",o=(0,_s.first)(t).image,a=` -but found: '`+o+"'";if(i)return s+i+a;var l=(0,_s.map)(e,function(u){return"["+(0,_s.map)(u,function(g){return(0,mf.tokenLabel)(g)}).join(",")+"]"}),c=`expecting at least one iteration which starts with one of these possible Token sequences:: - `+("<"+l.join(" ,")+">");return s+c+a}};Object.freeze(Ra.defaultParserErrorProvider);Ra.defaultGrammarResolverErrorProvider={buildRuleNotFoundError:function(r,e){var t="Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- -inside top level rule: ->`+r.name+"<-";return t}};Ra.defaultGrammarValidatorErrorProvider={buildDuplicateFoundError:function(r,e){function t(u){return u instanceof Ox.Terminal?u.terminalType.name:u instanceof Ox.NonTerminal?u.nonTerminalName:""}var i=r.name,n=(0,_s.first)(e),s=n.idx,o=(0,jq.getProductionDslName)(n),a=t(n),l=s>0,c="->"+o+(l?s:"")+"<- "+(a?"with argument: ->"+a+"<-":"")+` - appears more than once (`+e.length+" times) in the top level rule: ->"+i+`<-. - For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES - `;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,` -`),c},buildNamespaceConflictError:function(r){var e=`Namespace conflict found in grammar. -`+("The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <"+r.name+`>. -`)+`To resolve this make sure each Terminal and Non-Terminal names are unique -This is easy to accomplish by using the convention that Terminal names start with an uppercase letter -and Non-Terminal names start with a lower case letter.`;return e},buildAlternationPrefixAmbiguityError:function(r){var e=(0,_s.map)(r.prefixPath,function(n){return(0,mf.tokenLabel)(n)}).join(", "),t=r.alternation.idx===0?"":r.alternation.idx,i="Ambiguous alternatives: <"+r.ambiguityIndices.join(" ,")+`> due to common lookahead prefix -`+("in inside <"+r.topLevelRule.name+`> Rule, -`)+("<"+e+`> may appears as a prefix path in all these alternatives. -`)+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX -For Further details.`;return i},buildAlternationAmbiguityError:function(r){var e=(0,_s.map)(r.prefixPath,function(n){return(0,mf.tokenLabel)(n)}).join(", "),t=r.alternation.idx===0?"":r.alternation.idx,i="Ambiguous Alternatives Detected: <"+r.ambiguityIndices.join(" ,")+"> in "+(" inside <"+r.topLevelRule.name+`> Rule, -`)+("<"+e+`> may appears as a prefix path in all these alternatives. -`);return i=i+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES -For Further details.`,i},buildEmptyRepetitionError:function(r){var e=(0,jq.getProductionDslName)(r.repetition);r.repetition.idx!==0&&(e+=r.repetition.idx);var t="The repetition <"+e+"> within Rule <"+r.topLevelRule.name+`> can never consume any tokens. -This could lead to an infinite loop.`;return t},buildTokenNameError:function(r){return"deprecated"},buildEmptyAlternationError:function(r){var e="Ambiguous empty alternative: <"+(r.emptyChoiceIdx+1)+">"+(" in inside <"+r.topLevelRule.name+`> Rule. -`)+"Only the last alternative may be an empty alternative.";return e},buildTooManyAlternativesError:function(r){var e=`An Alternation cannot have more than 256 alternatives: -`+(" inside <"+r.topLevelRule.name+`> Rule. - has `+(r.alternation.definition.length+1)+" alternatives.");return e},buildLeftRecursionError:function(r){var e=r.topLevelRule.name,t=twe.map(r.leftRecursionPath,function(s){return s.name}),i=e+" --> "+t.concat([e]).join(" --> "),n=`Left Recursion found in grammar. -`+("rule: <"+e+`> can be invoked from itself (directly or indirectly) -`)+(`without consuming any Tokens. The grammar path that causes this is: - `+i+` -`)+` To fix this refactor your grammar to remove the left recursion. -see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;return n},buildInvalidRuleNameError:function(r){return"deprecated"},buildDuplicateRuleNameError:function(r){var e;r.topLevelRule instanceof Ox.Rule?e=r.topLevelRule.name:e=r.topLevelRule;var t="Duplicate definition, rule: ->"+e+"<- is already defined in the grammar: ->"+r.grammarName+"<-";return t}}});var Wq=y(GA=>{"use strict";var rwe=GA&&GA.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(GA,"__esModule",{value:!0});GA.GastRefResolverVisitor=GA.resolveGrammar=void 0;var iwe=Hn(),qq=Gt(),nwe=Cf();function swe(r,e){var t=new Jq(r,e);return t.resolveRefs(),t.errors}GA.resolveGrammar=swe;var Jq=function(r){rwe(e,r);function e(t,i){var n=r.call(this)||this;return n.nameToTopRule=t,n.errMsgProvider=i,n.errors=[],n}return e.prototype.resolveRefs=function(){var t=this;(0,qq.forEach)((0,qq.values)(this.nameToTopRule),function(i){t.currTopLevel=i,i.accept(t)})},e.prototype.visitNonTerminal=function(t){var i=this.nameToTopRule[t.nonTerminalName];if(i)t.referencedRule=i;else{var n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,t);this.errors.push({message:n,type:iwe.ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:t.nonTerminalName})}},e}(nwe.GAstVisitor);GA.GastRefResolverVisitor=Jq});var $d=y(Lr=>{"use strict";var Fc=Lr&&Lr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Lr,"__esModule",{value:!0});Lr.nextPossibleTokensAfter=Lr.possiblePathsFrom=Lr.NextTerminalAfterAtLeastOneSepWalker=Lr.NextTerminalAfterAtLeastOneWalker=Lr.NextTerminalAfterManySepWalker=Lr.NextTerminalAfterManyWalker=Lr.AbstractNextTerminalAfterProductionWalker=Lr.NextAfterTokenWalker=Lr.AbstractNextPossibleTokensWalker=void 0;var zq=My(),Ut=Gt(),owe=Tx(),Dt=Cn(),Vq=function(r){Fc(e,r);function e(t,i){var n=r.call(this)||this;return n.topProd=t,n.path=i,n.possibleTokTypes=[],n.nextProductionName="",n.nextProductionOccurrence=0,n.found=!1,n.isAtEndOfPath=!1,n}return e.prototype.startWalking=function(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=(0,Ut.cloneArr)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,Ut.cloneArr)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes},e.prototype.walk=function(t,i){i===void 0&&(i=[]),this.found||r.prototype.walk.call(this,t,i)},e.prototype.walkProdRef=function(t,i,n){if(t.referencedRule.name===this.nextProductionName&&t.idx===this.nextProductionOccurrence){var s=i.concat(n);this.updateExpectedNext(),this.walk(t.referencedRule,s)}},e.prototype.updateExpectedNext=function(){(0,Ut.isEmpty)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())},e}(zq.RestWalker);Lr.AbstractNextPossibleTokensWalker=Vq;var awe=function(r){Fc(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.path=i,n.nextTerminalName="",n.nextTerminalOccurrence=0,n.nextTerminalName=n.path.lastTok.name,n.nextTerminalOccurrence=n.path.lastTokOccurrence,n}return e.prototype.walkTerminal=function(t,i,n){if(this.isAtEndOfPath&&t.terminalType.name===this.nextTerminalName&&t.idx===this.nextTerminalOccurrence&&!this.found){var s=i.concat(n),o=new Dt.Alternative({definition:s});this.possibleTokTypes=(0,owe.first)(o),this.found=!0}},e}(Vq);Lr.NextAfterTokenWalker=awe;var Zd=function(r){Fc(e,r);function e(t,i){var n=r.call(this)||this;return n.topRule=t,n.occurrence=i,n.result={token:void 0,occurrence:void 0,isEndOfRule:void 0},n}return e.prototype.startWalking=function(){return this.walk(this.topRule),this.result},e}(zq.RestWalker);Lr.AbstractNextTerminalAfterProductionWalker=Zd;var Awe=function(r){Fc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkMany=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkMany.call(this,t,i,n)},e}(Zd);Lr.NextTerminalAfterManyWalker=Awe;var lwe=function(r){Fc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkManySep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkManySep.call(this,t,i,n)},e}(Zd);Lr.NextTerminalAfterManySepWalker=lwe;var cwe=function(r){Fc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOne=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOne.call(this,t,i,n)},e}(Zd);Lr.NextTerminalAfterAtLeastOneWalker=cwe;var uwe=function(r){Fc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOneSep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOneSep.call(this,t,i,n)},e}(Zd);Lr.NextTerminalAfterAtLeastOneSepWalker=uwe;function Xq(r,e,t){t===void 0&&(t=[]),t=(0,Ut.cloneArr)(t);var i=[],n=0;function s(c){return c.concat((0,Ut.drop)(r,n+1))}function o(c){var u=Xq(s(c),e,t);return i.concat(u)}for(;t.length=0;ge--){var _=B.definition[ge],L={idx:p,def:_.definition.concat((0,Ut.drop)(h)),ruleStack:C,occurrenceStack:w};g.push(L),g.push(o)}else if(B instanceof Dt.Alternative)g.push({idx:p,def:B.definition.concat((0,Ut.drop)(h)),ruleStack:C,occurrenceStack:w});else if(B instanceof Dt.Rule)g.push(fwe(B,p,C,w));else throw Error("non exhaustive match")}}return u}Lr.nextPossibleTokensAfter=gwe;function fwe(r,e,t,i){var n=(0,Ut.cloneArr)(t);n.push(r.name);var s=(0,Ut.cloneArr)(i);return s.push(1),{idx:e,def:r.definition,ruleStack:n,occurrenceStack:s}}});var eC=y(_t=>{"use strict";var $q=_t&&_t.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(_t,"__esModule",{value:!0});_t.areTokenCategoriesNotUsed=_t.isStrictPrefixOfPath=_t.containsPath=_t.getLookaheadPathsForOptionalProd=_t.getLookaheadPathsForOr=_t.lookAheadSequenceFromAlternatives=_t.buildSingleAlternativeLookaheadFunction=_t.buildAlternativesLookAheadFunc=_t.buildLookaheadFuncForOptionalProd=_t.buildLookaheadFuncForOr=_t.getProdType=_t.PROD_TYPE=void 0;var sr=Gt(),_q=$d(),hwe=My(),jy=df(),YA=Cn(),pwe=Cf(),li;(function(r){r[r.OPTION=0]="OPTION",r[r.REPETITION=1]="REPETITION",r[r.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",r[r.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",r[r.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",r[r.ALTERNATION=5]="ALTERNATION"})(li=_t.PROD_TYPE||(_t.PROD_TYPE={}));function dwe(r){if(r instanceof YA.Option)return li.OPTION;if(r instanceof YA.Repetition)return li.REPETITION;if(r instanceof YA.RepetitionMandatory)return li.REPETITION_MANDATORY;if(r instanceof YA.RepetitionMandatoryWithSeparator)return li.REPETITION_MANDATORY_WITH_SEPARATOR;if(r instanceof YA.RepetitionWithSeparator)return li.REPETITION_WITH_SEPARATOR;if(r instanceof YA.Alternation)return li.ALTERNATION;throw Error("non exhaustive match")}_t.getProdType=dwe;function Cwe(r,e,t,i,n,s){var o=tJ(r,e,t),a=Kx(o)?jy.tokenStructuredMatcherNoCategories:jy.tokenStructuredMatcher;return s(o,i,a,n)}_t.buildLookaheadFuncForOr=Cwe;function mwe(r,e,t,i,n,s){var o=rJ(r,e,n,t),a=Kx(o)?jy.tokenStructuredMatcherNoCategories:jy.tokenStructuredMatcher;return s(o[0],a,i)}_t.buildLookaheadFuncForOptionalProd=mwe;function Ewe(r,e,t,i){var n=r.length,s=(0,sr.every)(r,function(l){return(0,sr.every)(l,function(c){return c.length===1})});if(e)return function(l){for(var c=(0,sr.map)(l,function(D){return D.GATE}),u=0;u{"use strict";var Hx=zt&&zt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(zt,"__esModule",{value:!0});zt.checkPrefixAlternativesAmbiguities=zt.validateSomeNonEmptyLookaheadPath=zt.validateTooManyAlts=zt.RepetionCollector=zt.validateAmbiguousAlternationAlternatives=zt.validateEmptyOrAlternative=zt.getFirstNoneTerminal=zt.validateNoLeftRecursion=zt.validateRuleIsOverridden=zt.validateRuleDoesNotAlreadyExist=zt.OccurrenceValidationCollector=zt.identifyProductionForDuplicates=zt.validateGrammar=void 0;var er=Gt(),Sr=Gt(),No=Hn(),Gx=Xd(),Ef=eC(),bwe=$d(),Zs=Cn(),Yx=Cf();function Qwe(r,e,t,i,n){var s=er.map(r,function(h){return Swe(h,i)}),o=er.map(r,function(h){return jx(h,h,i)}),a=[],l=[],c=[];(0,Sr.every)(o,Sr.isEmpty)&&(a=(0,Sr.map)(r,function(h){return AJ(h,i)}),l=(0,Sr.map)(r,function(h){return lJ(h,e,i)}),c=gJ(r,e,i));var u=Pwe(r,t,i),g=(0,Sr.map)(r,function(h){return uJ(h,i)}),f=(0,Sr.map)(r,function(h){return aJ(h,r,n,i)});return er.flatten(s.concat(c,o,a,l,u,g,f))}zt.validateGrammar=Qwe;function Swe(r,e){var t=new oJ;r.accept(t);var i=t.allProductions,n=er.groupBy(i,nJ),s=er.pick(n,function(a){return a.length>1}),o=er.map(er.values(s),function(a){var l=er.first(a),c=e.buildDuplicateFoundError(r,a),u=(0,Gx.getProductionDslName)(l),g={message:c,type:No.ParserDefinitionErrorType.DUPLICATE_PRODUCTIONS,ruleName:r.name,dslName:u,occurrence:l.idx},f=sJ(l);return f&&(g.parameter=f),g});return o}function nJ(r){return(0,Gx.getProductionDslName)(r)+"_#_"+r.idx+"_#_"+sJ(r)}zt.identifyProductionForDuplicates=nJ;function sJ(r){return r instanceof Zs.Terminal?r.terminalType.name:r instanceof Zs.NonTerminal?r.nonTerminalName:""}var oJ=function(r){Hx(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitNonTerminal=function(t){this.allProductions.push(t)},e.prototype.visitOption=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e.prototype.visitAlternation=function(t){this.allProductions.push(t)},e.prototype.visitTerminal=function(t){this.allProductions.push(t)},e}(Yx.GAstVisitor);zt.OccurrenceValidationCollector=oJ;function aJ(r,e,t,i){var n=[],s=(0,Sr.reduce)(e,function(a,l){return l.name===r.name?a+1:a},0);if(s>1){var o=i.buildDuplicateRuleNameError({topLevelRule:r,grammarName:t});n.push({message:o,type:No.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:r.name})}return n}zt.validateRuleDoesNotAlreadyExist=aJ;function vwe(r,e,t){var i=[],n;return er.contains(e,r)||(n="Invalid rule override, rule: ->"+r+"<- cannot be overridden in the grammar: ->"+t+"<-as it is not defined in any of the super grammars ",i.push({message:n,type:No.ParserDefinitionErrorType.INVALID_RULE_OVERRIDE,ruleName:r})),i}zt.validateRuleIsOverridden=vwe;function jx(r,e,t,i){i===void 0&&(i=[]);var n=[],s=tC(e.definition);if(er.isEmpty(s))return[];var o=r.name,a=er.contains(s,r);a&&n.push({message:t.buildLeftRecursionError({topLevelRule:r,leftRecursionPath:i}),type:No.ParserDefinitionErrorType.LEFT_RECURSION,ruleName:o});var l=er.difference(s,i.concat([r])),c=er.map(l,function(u){var g=er.cloneArr(i);return g.push(u),jx(r,u,t,g)});return n.concat(er.flatten(c))}zt.validateNoLeftRecursion=jx;function tC(r){var e=[];if(er.isEmpty(r))return e;var t=er.first(r);if(t instanceof Zs.NonTerminal)e.push(t.referencedRule);else if(t instanceof Zs.Alternative||t instanceof Zs.Option||t instanceof Zs.RepetitionMandatory||t instanceof Zs.RepetitionMandatoryWithSeparator||t instanceof Zs.RepetitionWithSeparator||t instanceof Zs.Repetition)e=e.concat(tC(t.definition));else if(t instanceof Zs.Alternation)e=er.flatten(er.map(t.definition,function(o){return tC(o.definition)}));else if(!(t instanceof Zs.Terminal))throw Error("non exhaustive match");var i=(0,Gx.isOptionalProd)(t),n=r.length>1;if(i&&n){var s=er.drop(r);return e.concat(tC(s))}else return e}zt.getFirstNoneTerminal=tC;var qx=function(r){Hx(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.alternations=[],t}return e.prototype.visitAlternation=function(t){this.alternations.push(t)},e}(Yx.GAstVisitor);function AJ(r,e){var t=new qx;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){var a=er.dropRight(o.definition),l=er.map(a,function(c,u){var g=(0,bwe.nextPossibleTokensAfter)([c],[],null,1);return er.isEmpty(g)?{message:e.buildEmptyAlternationError({topLevelRule:r,alternation:o,emptyChoiceIdx:u}),type:No.ParserDefinitionErrorType.NONE_LAST_EMPTY_ALT,ruleName:r.name,occurrence:o.idx,alternative:u+1}:null});return s.concat(er.compact(l))},[]);return n}zt.validateEmptyOrAlternative=AJ;function lJ(r,e,t){var i=new qx;r.accept(i);var n=i.alternations;n=(0,Sr.reject)(n,function(o){return o.ignoreAmbiguities===!0});var s=er.reduce(n,function(o,a){var l=a.idx,c=a.maxLookahead||e,u=(0,Ef.getLookaheadPathsForOr)(l,r,c,a),g=xwe(u,a,r,t),f=fJ(u,a,r,t);return o.concat(g,f)},[]);return s}zt.validateAmbiguousAlternationAlternatives=lJ;var cJ=function(r){Hx(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e}(Yx.GAstVisitor);zt.RepetionCollector=cJ;function uJ(r,e){var t=new qx;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){return o.definition.length>255&&s.push({message:e.buildTooManyAlternativesError({topLevelRule:r,alternation:o}),type:No.ParserDefinitionErrorType.TOO_MANY_ALTS,ruleName:r.name,occurrence:o.idx}),s},[]);return n}zt.validateTooManyAlts=uJ;function gJ(r,e,t){var i=[];return(0,Sr.forEach)(r,function(n){var s=new cJ;n.accept(s);var o=s.allProductions;(0,Sr.forEach)(o,function(a){var l=(0,Ef.getProdType)(a),c=a.maxLookahead||e,u=a.idx,g=(0,Ef.getLookaheadPathsForOptionalProd)(u,n,l,c),f=g[0];if((0,Sr.isEmpty)((0,Sr.flatten)(f))){var h=t.buildEmptyRepetitionError({topLevelRule:n,repetition:a});i.push({message:h,type:No.ParserDefinitionErrorType.NO_NON_EMPTY_LOOKAHEAD,ruleName:n.name})}})}),i}zt.validateSomeNonEmptyLookaheadPath=gJ;function xwe(r,e,t,i){var n=[],s=(0,Sr.reduce)(r,function(a,l,c){return e.definition[c].ignoreAmbiguities===!0||(0,Sr.forEach)(l,function(u){var g=[c];(0,Sr.forEach)(r,function(f,h){c!==h&&(0,Ef.containsPath)(f,u)&&e.definition[h].ignoreAmbiguities!==!0&&g.push(h)}),g.length>1&&!(0,Ef.containsPath)(n,u)&&(n.push(u),a.push({alts:g,path:u}))}),a},[]),o=er.map(s,function(a){var l=(0,Sr.map)(a.alts,function(u){return u+1}),c=i.buildAlternationAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:l,prefixPath:a.path});return{message:c,type:No.ParserDefinitionErrorType.AMBIGUOUS_ALTS,ruleName:t.name,occurrence:e.idx,alternatives:[a.alts]}});return o}function fJ(r,e,t,i){var n=[],s=(0,Sr.reduce)(r,function(o,a,l){var c=(0,Sr.map)(a,function(u){return{idx:l,path:u}});return o.concat(c)},[]);return(0,Sr.forEach)(s,function(o){var a=e.definition[o.idx];if(a.ignoreAmbiguities!==!0){var l=o.idx,c=o.path,u=(0,Sr.findAll)(s,function(f){return e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{"use strict";Object.defineProperty(If,"__esModule",{value:!0});If.validateGrammar=If.resolveGrammar=void 0;var Wx=Gt(),Dwe=Wq(),kwe=Jx(),hJ=_d();function Rwe(r){r=(0,Wx.defaults)(r,{errMsgProvider:hJ.defaultGrammarResolverErrorProvider});var e={};return(0,Wx.forEach)(r.rules,function(t){e[t.name]=t}),(0,Dwe.resolveGrammar)(e,r.errMsgProvider)}If.resolveGrammar=Rwe;function Fwe(r){return r=(0,Wx.defaults)(r,{errMsgProvider:hJ.defaultGrammarValidatorErrorProvider}),(0,kwe.validateGrammar)(r.rules,r.maxLookahead,r.tokenTypes,r.errMsgProvider,r.grammarName)}If.validateGrammar=Fwe});var yf=y(En=>{"use strict";var rC=En&&En.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(En,"__esModule",{value:!0});En.EarlyExitException=En.NotAllInputParsedException=En.NoViableAltException=En.MismatchedTokenException=En.isRecognitionException=void 0;var Nwe=Gt(),dJ="MismatchedTokenException",CJ="NoViableAltException",mJ="EarlyExitException",EJ="NotAllInputParsedException",IJ=[dJ,CJ,mJ,EJ];Object.freeze(IJ);function Twe(r){return(0,Nwe.contains)(IJ,r.name)}En.isRecognitionException=Twe;var qy=function(r){rC(e,r);function e(t,i){var n=this.constructor,s=r.call(this,t)||this;return s.token=i,s.resyncedTokens=[],Object.setPrototypeOf(s,n.prototype),Error.captureStackTrace&&Error.captureStackTrace(s,s.constructor),s}return e}(Error),Lwe=function(r){rC(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=dJ,s}return e}(qy);En.MismatchedTokenException=Lwe;var Owe=function(r){rC(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=CJ,s}return e}(qy);En.NoViableAltException=Owe;var Mwe=function(r){rC(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.name=EJ,n}return e}(qy);En.NotAllInputParsedException=Mwe;var Uwe=function(r){rC(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=mJ,s}return e}(qy);En.EarlyExitException=Uwe});var Vx=y(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.attemptInRepetitionRecovery=Ki.Recoverable=Ki.InRuleRecoveryException=Ki.IN_RULE_RECOVERY_EXCEPTION=Ki.EOF_FOLLOW_KEY=void 0;var Jy=HA(),cs=Gt(),Kwe=yf(),Hwe=Lx(),Gwe=Hn();Ki.EOF_FOLLOW_KEY={};Ki.IN_RULE_RECOVERY_EXCEPTION="InRuleRecoveryException";function zx(r){this.name=Ki.IN_RULE_RECOVERY_EXCEPTION,this.message=r}Ki.InRuleRecoveryException=zx;zx.prototype=Error.prototype;var Ywe=function(){function r(){}return r.prototype.initRecoverable=function(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,cs.has)(e,"recoveryEnabled")?e.recoveryEnabled:Gwe.DEFAULT_PARSER_CONFIG.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=yJ)},r.prototype.getTokenToInsert=function(e){var t=(0,Jy.createTokenInstance)(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t},r.prototype.canTokenTypeBeInsertedInRecovery=function(e){return!0},r.prototype.tryInRepetitionRecovery=function(e,t,i,n){for(var s=this,o=this.findReSyncTokenType(),a=this.exportLexerState(),l=[],c=!1,u=this.LA(1),g=this.LA(1),f=function(){var h=s.LA(0),p=s.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:u,previous:h,ruleName:s.getCurrRuleFullName()}),C=new Kwe.MismatchedTokenException(p,u,s.LA(0));C.resyncedTokens=(0,cs.dropRight)(l),s.SAVE_ERROR(C)};!c;)if(this.tokenMatcher(g,n)){f();return}else if(i.call(this)){f(),e.apply(this,t);return}else this.tokenMatcher(g,o)?c=!0:(g=this.SKIP_TOKEN(),this.addToResyncTokens(g,l));this.importLexerState(a)},r.prototype.shouldInRepetitionRecoveryBeTried=function(e,t,i){return!(i===!1||e===void 0||t===void 0||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))},r.prototype.getFollowsForInRuleRecovery=function(e,t){var i=this.getCurrentGrammarPath(e,t),n=this.getNextPossibleTokenTypes(i);return n},r.prototype.tryInRuleRecovery=function(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t)){var i=this.getTokenToInsert(e);return i}if(this.canRecoverWithSingleTokenDeletion(e)){var n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new zx("sad sad panda")},r.prototype.canPerformInRuleRecovery=function(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)},r.prototype.canRecoverWithSingleTokenInsertion=function(e,t){var i=this;if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,cs.isEmpty)(t))return!1;var n=this.LA(1),s=(0,cs.find)(t,function(o){return i.tokenMatcher(n,o)})!==void 0;return s},r.prototype.canRecoverWithSingleTokenDeletion=function(e){var t=this.tokenMatcher(this.LA(2),e);return t},r.prototype.isInCurrentRuleReSyncSet=function(e){var t=this.getCurrFollowKey(),i=this.getFollowSetFromFollowKey(t);return(0,cs.contains)(i,e)},r.prototype.findReSyncTokenType=function(){for(var e=this.flattenFollowSet(),t=this.LA(1),i=2;;){var n=t.tokenType;if((0,cs.contains)(e,n))return n;t=this.LA(i),i++}},r.prototype.getCurrFollowKey=function(){if(this.RULE_STACK.length===1)return Ki.EOF_FOLLOW_KEY;var e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),i=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(i)}},r.prototype.buildFullFollowKeyStack=function(){var e=this,t=this.RULE_STACK,i=this.RULE_OCCURRENCE_STACK;return(0,cs.map)(t,function(n,s){return s===0?Ki.EOF_FOLLOW_KEY:{ruleName:e.shortRuleNameToFullName(n),idxInCallingRule:i[s],inRule:e.shortRuleNameToFullName(t[s-1])}})},r.prototype.flattenFollowSet=function(){var e=this,t=(0,cs.map)(this.buildFullFollowKeyStack(),function(i){return e.getFollowSetFromFollowKey(i)});return(0,cs.flatten)(t)},r.prototype.getFollowSetFromFollowKey=function(e){if(e===Ki.EOF_FOLLOW_KEY)return[Jy.EOF];var t=e.ruleName+e.idxInCallingRule+Hwe.IN+e.inRule;return this.resyncFollows[t]},r.prototype.addToResyncTokens=function(e,t){return this.tokenMatcher(e,Jy.EOF)||t.push(e),t},r.prototype.reSyncTo=function(e){for(var t=[],i=this.LA(1);this.tokenMatcher(i,e)===!1;)i=this.SKIP_TOKEN(),this.addToResyncTokens(i,t);return(0,cs.dropRight)(t)},r.prototype.attemptInRepetitionRecovery=function(e,t,i,n,s,o,a){},r.prototype.getCurrentGrammarPath=function(e,t){var i=this.getHumanReadableRuleStack(),n=(0,cs.cloneArr)(this.RULE_OCCURRENCE_STACK),s={ruleStack:i,occurrenceStack:n,lastTok:e,lastTokOccurrence:t};return s},r.prototype.getHumanReadableRuleStack=function(){var e=this;return(0,cs.map)(this.RULE_STACK,function(t){return e.shortRuleNameToFullName(t)})},r}();Ki.Recoverable=Ywe;function yJ(r,e,t,i,n,s,o){var a=this.getKeyForAutomaticLookahead(i,n),l=this.firstAfterRepMap[a];if(l===void 0){var c=this.getCurrRuleFullName(),u=this.getGAstProductions()[c],g=new s(u,n);l=g.startWalking(),this.firstAfterRepMap[a]=l}var f=l.token,h=l.occurrence,p=l.isEndOfRule;this.RULE_STACK.length===1&&p&&f===void 0&&(f=Jy.EOF,h=1),this.shouldInRepetitionRecoveryBeTried(f,h,o)&&this.tryInRepetitionRecovery(r,e,t,f)}Ki.attemptInRepetitionRecovery=yJ});var Wy=y(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.getKeyForAutomaticLookahead=qt.AT_LEAST_ONE_SEP_IDX=qt.MANY_SEP_IDX=qt.AT_LEAST_ONE_IDX=qt.MANY_IDX=qt.OPTION_IDX=qt.OR_IDX=qt.BITS_FOR_ALT_IDX=qt.BITS_FOR_RULE_IDX=qt.BITS_FOR_OCCURRENCE_IDX=qt.BITS_FOR_METHOD_TYPE=void 0;qt.BITS_FOR_METHOD_TYPE=4;qt.BITS_FOR_OCCURRENCE_IDX=8;qt.BITS_FOR_RULE_IDX=12;qt.BITS_FOR_ALT_IDX=8;qt.OR_IDX=1<{"use strict";Object.defineProperty(zy,"__esModule",{value:!0});zy.LooksAhead=void 0;var Fa=eC(),$s=Gt(),wJ=Hn(),Na=Wy(),Nc=Xd(),qwe=function(){function r(){}return r.prototype.initLooksAhead=function(e){this.dynamicTokensEnabled=(0,$s.has)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:wJ.DEFAULT_PARSER_CONFIG.dynamicTokensEnabled,this.maxLookahead=(0,$s.has)(e,"maxLookahead")?e.maxLookahead:wJ.DEFAULT_PARSER_CONFIG.maxLookahead,this.lookAheadFuncsCache=(0,$s.isES2015MapSupported)()?new Map:[],(0,$s.isES2015MapSupported)()?(this.getLaFuncFromCache=this.getLaFuncFromMap,this.setLaFuncCache=this.setLaFuncCacheUsingMap):(this.getLaFuncFromCache=this.getLaFuncFromObj,this.setLaFuncCache=this.setLaFuncUsingObj)},r.prototype.preComputeLookaheadFunctions=function(e){var t=this;(0,$s.forEach)(e,function(i){t.TRACE_INIT(i.name+" Rule Lookahead",function(){var n=(0,Nc.collectMethods)(i),s=n.alternation,o=n.repetition,a=n.option,l=n.repetitionMandatory,c=n.repetitionMandatoryWithSeparator,u=n.repetitionWithSeparator;(0,$s.forEach)(s,function(g){var f=g.idx===0?"":g.idx;t.TRACE_INIT(""+(0,Nc.getProductionDslName)(g)+f,function(){var h=(0,Fa.buildLookaheadFuncForOr)(g.idx,i,g.maxLookahead||t.maxLookahead,g.hasPredicates,t.dynamicTokensEnabled,t.lookAheadBuilderForAlternatives),p=(0,Na.getKeyForAutomaticLookahead)(t.fullRuleNameToShort[i.name],Na.OR_IDX,g.idx);t.setLaFuncCache(p,h)})}),(0,$s.forEach)(o,function(g){t.computeLookaheadFunc(i,g.idx,Na.MANY_IDX,Fa.PROD_TYPE.REPETITION,g.maxLookahead,(0,Nc.getProductionDslName)(g))}),(0,$s.forEach)(a,function(g){t.computeLookaheadFunc(i,g.idx,Na.OPTION_IDX,Fa.PROD_TYPE.OPTION,g.maxLookahead,(0,Nc.getProductionDslName)(g))}),(0,$s.forEach)(l,function(g){t.computeLookaheadFunc(i,g.idx,Na.AT_LEAST_ONE_IDX,Fa.PROD_TYPE.REPETITION_MANDATORY,g.maxLookahead,(0,Nc.getProductionDslName)(g))}),(0,$s.forEach)(c,function(g){t.computeLookaheadFunc(i,g.idx,Na.AT_LEAST_ONE_SEP_IDX,Fa.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,g.maxLookahead,(0,Nc.getProductionDslName)(g))}),(0,$s.forEach)(u,function(g){t.computeLookaheadFunc(i,g.idx,Na.MANY_SEP_IDX,Fa.PROD_TYPE.REPETITION_WITH_SEPARATOR,g.maxLookahead,(0,Nc.getProductionDslName)(g))})})})},r.prototype.computeLookaheadFunc=function(e,t,i,n,s,o){var a=this;this.TRACE_INIT(""+o+(t===0?"":t),function(){var l=(0,Fa.buildLookaheadFuncForOptionalProd)(t,e,s||a.maxLookahead,a.dynamicTokensEnabled,n,a.lookAheadBuilderForOptional),c=(0,Na.getKeyForAutomaticLookahead)(a.fullRuleNameToShort[e.name],i,t);a.setLaFuncCache(c,l)})},r.prototype.lookAheadBuilderForOptional=function(e,t,i){return(0,Fa.buildSingleAlternativeLookaheadFunction)(e,t,i)},r.prototype.lookAheadBuilderForAlternatives=function(e,t,i,n){return(0,Fa.buildAlternativesLookAheadFunc)(e,t,i,n)},r.prototype.getKeyForAutomaticLookahead=function(e,t){var i=this.getLastExplicitRuleShortName();return(0,Na.getKeyForAutomaticLookahead)(i,e,t)},r.prototype.getLaFuncFromCache=function(e){},r.prototype.getLaFuncFromMap=function(e){return this.lookAheadFuncsCache.get(e)},r.prototype.getLaFuncFromObj=function(e){return this.lookAheadFuncsCache[e]},r.prototype.setLaFuncCache=function(e,t){},r.prototype.setLaFuncCacheUsingMap=function(e,t){this.lookAheadFuncsCache.set(e,t)},r.prototype.setLaFuncUsingObj=function(e,t){this.lookAheadFuncsCache[e]=t},r}();zy.LooksAhead=qwe});var bJ=y(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.addNoneTerminalToCst=To.addTerminalToCst=To.setNodeLocationFull=To.setNodeLocationOnlyOffset=void 0;function Jwe(r,e){isNaN(r.startOffset)===!0?(r.startOffset=e.startOffset,r.endOffset=e.endOffset):r.endOffset{"use strict";Object.defineProperty(jA,"__esModule",{value:!0});jA.defineNameProp=jA.functionName=jA.classNameFromInstance=void 0;var Xwe=Gt();function _we(r){return SJ(r.constructor)}jA.classNameFromInstance=_we;var QJ="name";function SJ(r){var e=r.name;return e||"anonymous"}jA.functionName=SJ;function Zwe(r,e){var t=Object.getOwnPropertyDescriptor(r,QJ);return(0,Xwe.isUndefined)(t)||t.configurable?(Object.defineProperty(r,QJ,{enumerable:!1,configurable:!0,writable:!1,value:e}),!0):!1}jA.defineNameProp=Zwe});var kJ=y(vi=>{"use strict";Object.defineProperty(vi,"__esModule",{value:!0});vi.validateRedundantMethods=vi.validateMissingCstMethods=vi.validateVisitor=vi.CstVisitorDefinitionError=vi.createBaseVisitorConstructorWithDefaults=vi.createBaseSemanticVisitorConstructor=vi.defaultVisit=void 0;var us=Gt(),iC=Xx();function vJ(r,e){for(var t=(0,us.keys)(r),i=t.length,n=0;n: - `+(""+s.join(` - -`).replace(/\n/g,` - `)))}}};return t.prototype=i,t.prototype.constructor=t,t._RULE_NAMES=e,t}vi.createBaseSemanticVisitorConstructor=$we;function eBe(r,e,t){var i=function(){};(0,iC.defineNameProp)(i,r+"BaseSemanticsWithDefaults");var n=Object.create(t.prototype);return(0,us.forEach)(e,function(s){n[s]=vJ}),i.prototype=n,i.prototype.constructor=i,i}vi.createBaseVisitorConstructorWithDefaults=eBe;var _x;(function(r){r[r.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",r[r.MISSING_METHOD=1]="MISSING_METHOD"})(_x=vi.CstVisitorDefinitionError||(vi.CstVisitorDefinitionError={}));function xJ(r,e){var t=PJ(r,e),i=DJ(r,e);return t.concat(i)}vi.validateVisitor=xJ;function PJ(r,e){var t=(0,us.map)(e,function(i){if(!(0,us.isFunction)(r[i]))return{msg:"Missing visitor method: <"+i+"> on "+(0,iC.functionName)(r.constructor)+" CST Visitor.",type:_x.MISSING_METHOD,methodName:i}});return(0,us.compact)(t)}vi.validateMissingCstMethods=PJ;var tBe=["constructor","visit","validateVisitor"];function DJ(r,e){var t=[];for(var i in r)(0,us.isFunction)(r[i])&&!(0,us.contains)(tBe,i)&&!(0,us.contains)(e,i)&&t.push({msg:"Redundant visitor method: <"+i+"> on "+(0,iC.functionName)(r.constructor)+` CST Visitor -There is no Grammar Rule corresponding to this method's name. -`,type:_x.REDUNDANT_METHOD,methodName:i});return t}vi.validateRedundantMethods=DJ});var FJ=y(Vy=>{"use strict";Object.defineProperty(Vy,"__esModule",{value:!0});Vy.TreeBuilder=void 0;var wf=bJ(),ti=Gt(),RJ=kJ(),rBe=Hn(),iBe=function(){function r(){}return r.prototype.initTreeBuilder=function(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,ti.has)(e,"nodeLocationTracking")?e.nodeLocationTracking:rBe.DEFAULT_PARSER_CONFIG.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=ti.NOOP,this.cstFinallyStateUpdate=ti.NOOP,this.cstPostTerminal=ti.NOOP,this.cstPostNonTerminal=ti.NOOP,this.cstPostRule=ti.NOOP;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=wf.setNodeLocationFull,this.setNodeLocationFromNode=wf.setNodeLocationFull,this.cstPostRule=ti.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=ti.NOOP,this.setNodeLocationFromNode=ti.NOOP,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=wf.setNodeLocationOnlyOffset,this.setNodeLocationFromNode=wf.setNodeLocationOnlyOffset,this.cstPostRule=ti.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=ti.NOOP,this.setNodeLocationFromNode=ti.NOOP,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=ti.NOOP,this.setNodeLocationFromNode=ti.NOOP,this.cstPostRule=ti.NOOP,this.setInitialNodeLocation=ti.NOOP;else throw Error('Invalid config option: "'+e.nodeLocationTracking+'"')},r.prototype.setInitialNodeLocationOnlyOffsetRecovery=function(e){e.location={startOffset:NaN,endOffset:NaN}},r.prototype.setInitialNodeLocationOnlyOffsetRegular=function(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}},r.prototype.setInitialNodeLocationFullRecovery=function(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.setInitialNodeLocationFullRegular=function(e){var t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.cstInvocationStateUpdate=function(e,t){var i={name:e,children:{}};this.setInitialNodeLocation(i),this.CST_STACK.push(i)},r.prototype.cstFinallyStateUpdate=function(){this.CST_STACK.pop()},r.prototype.cstPostRuleFull=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?(i.endOffset=t.endOffset,i.endLine=t.endLine,i.endColumn=t.endColumn):(i.startOffset=NaN,i.startLine=NaN,i.startColumn=NaN)},r.prototype.cstPostRuleOnlyOffset=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?i.endOffset=t.endOffset:i.startOffset=NaN},r.prototype.cstPostTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,wf.addTerminalToCst)(i,t,e),this.setNodeLocationFromToken(i.location,t)},r.prototype.cstPostNonTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,wf.addNoneTerminalToCst)(i,t,e),this.setNodeLocationFromNode(i.location,e.location)},r.prototype.getBaseCstVisitorConstructor=function(){if((0,ti.isUndefined)(this.baseCstVisitorConstructor)){var e=(0,RJ.createBaseSemanticVisitorConstructor)(this.className,(0,ti.keys)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor},r.prototype.getBaseCstVisitorConstructorWithDefaults=function(){if((0,ti.isUndefined)(this.baseCstVisitorWithDefaultsConstructor)){var e=(0,RJ.createBaseVisitorConstructorWithDefaults)(this.className,(0,ti.keys)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor},r.prototype.getLastExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-1]},r.prototype.getPreviousExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-2]},r.prototype.getLastExplicitRuleOccurrenceIndex=function(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]},r}();Vy.TreeBuilder=iBe});var TJ=y(Xy=>{"use strict";Object.defineProperty(Xy,"__esModule",{value:!0});Xy.LexerAdapter=void 0;var NJ=Hn(),nBe=function(){function r(){}return r.prototype.initLexerAdapter=function(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1},Object.defineProperty(r.prototype,"input",{get:function(){return this.tokVector},set:function(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length},enumerable:!1,configurable:!0}),r.prototype.SKIP_TOKEN=function(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):NJ.END_OF_FILE},r.prototype.LA=function(e){var t=this.currIdx+e;return t<0||this.tokVectorLength<=t?NJ.END_OF_FILE:this.tokVector[t]},r.prototype.consumeToken=function(){this.currIdx++},r.prototype.exportLexerState=function(){return this.currIdx},r.prototype.importLexerState=function(e){this.currIdx=e},r.prototype.resetLexerState=function(){this.currIdx=-1},r.prototype.moveToTerminatedState=function(){this.currIdx=this.tokVector.length-1},r.prototype.getLexerPosition=function(){return this.exportLexerState()},r}();Xy.LexerAdapter=nBe});var OJ=y(_y=>{"use strict";Object.defineProperty(_y,"__esModule",{value:!0});_y.RecognizerApi=void 0;var LJ=Gt(),sBe=yf(),Zx=Hn(),oBe=_d(),aBe=Jx(),ABe=Cn(),lBe=function(){function r(){}return r.prototype.ACTION=function(e){return e.call(this)},r.prototype.consume=function(e,t,i){return this.consumeInternal(t,e,i)},r.prototype.subrule=function(e,t,i){return this.subruleInternal(t,e,i)},r.prototype.option=function(e,t){return this.optionInternal(t,e)},r.prototype.or=function(e,t){return this.orInternal(t,e)},r.prototype.many=function(e,t){return this.manyInternal(e,t)},r.prototype.atLeastOne=function(e,t){return this.atLeastOneInternal(e,t)},r.prototype.CONSUME=function(e,t){return this.consumeInternal(e,0,t)},r.prototype.CONSUME1=function(e,t){return this.consumeInternal(e,1,t)},r.prototype.CONSUME2=function(e,t){return this.consumeInternal(e,2,t)},r.prototype.CONSUME3=function(e,t){return this.consumeInternal(e,3,t)},r.prototype.CONSUME4=function(e,t){return this.consumeInternal(e,4,t)},r.prototype.CONSUME5=function(e,t){return this.consumeInternal(e,5,t)},r.prototype.CONSUME6=function(e,t){return this.consumeInternal(e,6,t)},r.prototype.CONSUME7=function(e,t){return this.consumeInternal(e,7,t)},r.prototype.CONSUME8=function(e,t){return this.consumeInternal(e,8,t)},r.prototype.CONSUME9=function(e,t){return this.consumeInternal(e,9,t)},r.prototype.SUBRULE=function(e,t){return this.subruleInternal(e,0,t)},r.prototype.SUBRULE1=function(e,t){return this.subruleInternal(e,1,t)},r.prototype.SUBRULE2=function(e,t){return this.subruleInternal(e,2,t)},r.prototype.SUBRULE3=function(e,t){return this.subruleInternal(e,3,t)},r.prototype.SUBRULE4=function(e,t){return this.subruleInternal(e,4,t)},r.prototype.SUBRULE5=function(e,t){return this.subruleInternal(e,5,t)},r.prototype.SUBRULE6=function(e,t){return this.subruleInternal(e,6,t)},r.prototype.SUBRULE7=function(e,t){return this.subruleInternal(e,7,t)},r.prototype.SUBRULE8=function(e,t){return this.subruleInternal(e,8,t)},r.prototype.SUBRULE9=function(e,t){return this.subruleInternal(e,9,t)},r.prototype.OPTION=function(e){return this.optionInternal(e,0)},r.prototype.OPTION1=function(e){return this.optionInternal(e,1)},r.prototype.OPTION2=function(e){return this.optionInternal(e,2)},r.prototype.OPTION3=function(e){return this.optionInternal(e,3)},r.prototype.OPTION4=function(e){return this.optionInternal(e,4)},r.prototype.OPTION5=function(e){return this.optionInternal(e,5)},r.prototype.OPTION6=function(e){return this.optionInternal(e,6)},r.prototype.OPTION7=function(e){return this.optionInternal(e,7)},r.prototype.OPTION8=function(e){return this.optionInternal(e,8)},r.prototype.OPTION9=function(e){return this.optionInternal(e,9)},r.prototype.OR=function(e){return this.orInternal(e,0)},r.prototype.OR1=function(e){return this.orInternal(e,1)},r.prototype.OR2=function(e){return this.orInternal(e,2)},r.prototype.OR3=function(e){return this.orInternal(e,3)},r.prototype.OR4=function(e){return this.orInternal(e,4)},r.prototype.OR5=function(e){return this.orInternal(e,5)},r.prototype.OR6=function(e){return this.orInternal(e,6)},r.prototype.OR7=function(e){return this.orInternal(e,7)},r.prototype.OR8=function(e){return this.orInternal(e,8)},r.prototype.OR9=function(e){return this.orInternal(e,9)},r.prototype.MANY=function(e){this.manyInternal(0,e)},r.prototype.MANY1=function(e){this.manyInternal(1,e)},r.prototype.MANY2=function(e){this.manyInternal(2,e)},r.prototype.MANY3=function(e){this.manyInternal(3,e)},r.prototype.MANY4=function(e){this.manyInternal(4,e)},r.prototype.MANY5=function(e){this.manyInternal(5,e)},r.prototype.MANY6=function(e){this.manyInternal(6,e)},r.prototype.MANY7=function(e){this.manyInternal(7,e)},r.prototype.MANY8=function(e){this.manyInternal(8,e)},r.prototype.MANY9=function(e){this.manyInternal(9,e)},r.prototype.MANY_SEP=function(e){this.manySepFirstInternal(0,e)},r.prototype.MANY_SEP1=function(e){this.manySepFirstInternal(1,e)},r.prototype.MANY_SEP2=function(e){this.manySepFirstInternal(2,e)},r.prototype.MANY_SEP3=function(e){this.manySepFirstInternal(3,e)},r.prototype.MANY_SEP4=function(e){this.manySepFirstInternal(4,e)},r.prototype.MANY_SEP5=function(e){this.manySepFirstInternal(5,e)},r.prototype.MANY_SEP6=function(e){this.manySepFirstInternal(6,e)},r.prototype.MANY_SEP7=function(e){this.manySepFirstInternal(7,e)},r.prototype.MANY_SEP8=function(e){this.manySepFirstInternal(8,e)},r.prototype.MANY_SEP9=function(e){this.manySepFirstInternal(9,e)},r.prototype.AT_LEAST_ONE=function(e){this.atLeastOneInternal(0,e)},r.prototype.AT_LEAST_ONE1=function(e){return this.atLeastOneInternal(1,e)},r.prototype.AT_LEAST_ONE2=function(e){this.atLeastOneInternal(2,e)},r.prototype.AT_LEAST_ONE3=function(e){this.atLeastOneInternal(3,e)},r.prototype.AT_LEAST_ONE4=function(e){this.atLeastOneInternal(4,e)},r.prototype.AT_LEAST_ONE5=function(e){this.atLeastOneInternal(5,e)},r.prototype.AT_LEAST_ONE6=function(e){this.atLeastOneInternal(6,e)},r.prototype.AT_LEAST_ONE7=function(e){this.atLeastOneInternal(7,e)},r.prototype.AT_LEAST_ONE8=function(e){this.atLeastOneInternal(8,e)},r.prototype.AT_LEAST_ONE9=function(e){this.atLeastOneInternal(9,e)},r.prototype.AT_LEAST_ONE_SEP=function(e){this.atLeastOneSepFirstInternal(0,e)},r.prototype.AT_LEAST_ONE_SEP1=function(e){this.atLeastOneSepFirstInternal(1,e)},r.prototype.AT_LEAST_ONE_SEP2=function(e){this.atLeastOneSepFirstInternal(2,e)},r.prototype.AT_LEAST_ONE_SEP3=function(e){this.atLeastOneSepFirstInternal(3,e)},r.prototype.AT_LEAST_ONE_SEP4=function(e){this.atLeastOneSepFirstInternal(4,e)},r.prototype.AT_LEAST_ONE_SEP5=function(e){this.atLeastOneSepFirstInternal(5,e)},r.prototype.AT_LEAST_ONE_SEP6=function(e){this.atLeastOneSepFirstInternal(6,e)},r.prototype.AT_LEAST_ONE_SEP7=function(e){this.atLeastOneSepFirstInternal(7,e)},r.prototype.AT_LEAST_ONE_SEP8=function(e){this.atLeastOneSepFirstInternal(8,e)},r.prototype.AT_LEAST_ONE_SEP9=function(e){this.atLeastOneSepFirstInternal(9,e)},r.prototype.RULE=function(e,t,i){if(i===void 0&&(i=Zx.DEFAULT_RULE_CONFIG),(0,LJ.contains)(this.definedRulesNames,e)){var n=oBe.defaultGrammarValidatorErrorProvider.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),s={message:n,type:Zx.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);var o=this.defineRule(e,t,i);return this[e]=o,o},r.prototype.OVERRIDE_RULE=function(e,t,i){i===void 0&&(i=Zx.DEFAULT_RULE_CONFIG);var n=[];n=n.concat((0,aBe.validateRuleIsOverridden)(e,this.definedRulesNames,this.className)),this.definitionErrors=this.definitionErrors.concat(n);var s=this.defineRule(e,t,i);return this[e]=s,s},r.prototype.BACKTRACK=function(e,t){return function(){this.isBackTrackingStack.push(1);var i=this.saveRecogState();try{return e.apply(this,t),!0}catch(n){if((0,sBe.isRecognitionException)(n))return!1;throw n}finally{this.reloadRecogState(i),this.isBackTrackingStack.pop()}}},r.prototype.getGAstProductions=function(){return this.gastProductionsCache},r.prototype.getSerializedGastProductions=function(){return(0,ABe.serializeGrammar)((0,LJ.values)(this.gastProductionsCache))},r}();_y.RecognizerApi=lBe});var HJ=y($y=>{"use strict";Object.defineProperty($y,"__esModule",{value:!0});$y.RecognizerEngine=void 0;var kr=Gt(),Gn=Wy(),Zy=yf(),MJ=eC(),Bf=$d(),UJ=Hn(),cBe=Vx(),KJ=HA(),nC=df(),uBe=Xx(),gBe=function(){function r(){}return r.prototype.initRecognizerEngine=function(e,t){if(this.className=(0,uBe.classNameFromInstance)(this),this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=nC.tokenStructuredMatcherNoCategories,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,kr.has)(t,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. - See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 - For Further details.`);if((0,kr.isArray)(e)){if((0,kr.isEmpty)(e))throw Error(`A Token Vocabulary cannot be empty. - Note that the first argument for the parser constructor - is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. - See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 - For Further details.`)}if((0,kr.isArray)(e))this.tokensMap=(0,kr.reduce)(e,function(o,a){return o[a.name]=a,o},{});else if((0,kr.has)(e,"modes")&&(0,kr.every)((0,kr.flatten)((0,kr.values)(e.modes)),nC.isTokenType)){var i=(0,kr.flatten)((0,kr.values)(e.modes)),n=(0,kr.uniq)(i);this.tokensMap=(0,kr.reduce)(n,function(o,a){return o[a.name]=a,o},{})}else if((0,kr.isObject)(e))this.tokensMap=(0,kr.cloneObj)(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=KJ.EOF;var s=(0,kr.every)((0,kr.values)(e),function(o){return(0,kr.isEmpty)(o.categoryMatches)});this.tokenMatcher=s?nC.tokenStructuredMatcherNoCategories:nC.tokenStructuredMatcher,(0,nC.augmentTokenTypes)((0,kr.values)(this.tokensMap))},r.prototype.defineRule=function(e,t,i){if(this.selfAnalysisDone)throw Error("Grammar rule <"+e+`> may not be defined after the 'performSelfAnalysis' method has been called' -Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);var n=(0,kr.has)(i,"resyncEnabled")?i.resyncEnabled:UJ.DEFAULT_RULE_CONFIG.resyncEnabled,s=(0,kr.has)(i,"recoveryValueFunc")?i.recoveryValueFunc:UJ.DEFAULT_RULE_CONFIG.recoveryValueFunc,o=this.ruleShortNameIdx<t},r.prototype.orInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(Gn.OR_IDX,t),n=(0,kr.isArray)(e)?e:e.DEF,s=this.getLaFuncFromCache(i),o=s.call(this,n);if(o!==void 0){var a=n[o];return a.ALT.call(this)}this.raiseNoAltException(t,e.ERR_MSG)},r.prototype.ruleFinallyStateUpdate=function(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){var e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new Zy.NotAllInputParsedException(t,e))}},r.prototype.subruleInternal=function(e,t,i){var n;try{var s=i!==void 0?i.ARGS:void 0;return n=e.call(this,t,s),this.cstPostNonTerminal(n,i!==void 0&&i.LABEL!==void 0?i.LABEL:e.ruleName),n}catch(o){this.subruleInternalError(o,i,e.ruleName)}},r.prototype.subruleInternalError=function(e,t,i){throw(0,Zy.isRecognitionException)(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,t!==void 0&&t.LABEL!==void 0?t.LABEL:i),delete e.partialCstResult),e},r.prototype.consumeInternal=function(e,t,i){var n;try{var s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),n=s):this.consumeInternalError(e,s,i)}catch(o){n=this.consumeInternalRecovery(e,t,o)}return this.cstPostTerminal(i!==void 0&&i.LABEL!==void 0?i.LABEL:e.name,n),n},r.prototype.consumeInternalError=function(e,t,i){var n,s=this.LA(0);throw i!==void 0&&i.ERR_MSG?n=i.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Zy.MismatchedTokenException(n,t,s))},r.prototype.consumeInternalRecovery=function(e,t,i){if(this.recoveryEnabled&&i.name==="MismatchedTokenException"&&!this.isBackTracking()){var n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(s){throw s.name===cBe.IN_RULE_RECOVERY_EXCEPTION?i:s}}else throw i},r.prototype.saveRecogState=function(){var e=this.errors,t=(0,kr.cloneArr)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}},r.prototype.reloadRecogState=function(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK},r.prototype.ruleInvocationStateUpdate=function(e,t,i){this.RULE_OCCURRENCE_STACK.push(i),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t,e)},r.prototype.isBackTracking=function(){return this.isBackTrackingStack.length!==0},r.prototype.getCurrRuleFullName=function(){var e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]},r.prototype.shortRuleNameToFullName=function(e){return this.shortRuleNameToFull[e]},r.prototype.isAtEndOfInput=function(){return this.tokenMatcher(this.LA(1),KJ.EOF)},r.prototype.reset=function(){this.resetLexerState(),this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]},r}();$y.RecognizerEngine=gBe});var YJ=y(ew=>{"use strict";Object.defineProperty(ew,"__esModule",{value:!0});ew.ErrorHandler=void 0;var $x=yf(),eP=Gt(),GJ=eC(),fBe=Hn(),hBe=function(){function r(){}return r.prototype.initErrorHandler=function(e){this._errors=[],this.errorMessageProvider=(0,eP.has)(e,"errorMessageProvider")?e.errorMessageProvider:fBe.DEFAULT_PARSER_CONFIG.errorMessageProvider},r.prototype.SAVE_ERROR=function(e){if((0,$x.isRecognitionException)(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,eP.cloneArr)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")},Object.defineProperty(r.prototype,"errors",{get:function(){return(0,eP.cloneArr)(this._errors)},set:function(e){this._errors=e},enumerable:!1,configurable:!0}),r.prototype.raiseEarlyExitException=function(e,t,i){for(var n=this.getCurrRuleFullName(),s=this.getGAstProductions()[n],o=(0,GJ.getLookaheadPathsForOptionalProd)(e,s,t,this.maxLookahead),a=o[0],l=[],c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));var u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:l,previous:this.LA(0),customUserDescription:i,ruleName:n});throw this.SAVE_ERROR(new $x.EarlyExitException(u,this.LA(1),this.LA(0)))},r.prototype.raiseNoAltException=function(e,t){for(var i=this.getCurrRuleFullName(),n=this.getGAstProductions()[i],s=(0,GJ.getLookaheadPathsForOr)(e,n,this.maxLookahead),o=[],a=1;a<=this.maxLookahead;a++)o.push(this.LA(a));var l=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:l,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new $x.NoViableAltException(c,this.LA(1),l))},r}();ew.ErrorHandler=hBe});var JJ=y(tw=>{"use strict";Object.defineProperty(tw,"__esModule",{value:!0});tw.ContentAssist=void 0;var jJ=$d(),qJ=Gt(),pBe=function(){function r(){}return r.prototype.initContentAssist=function(){},r.prototype.computeContentAssist=function(e,t){var i=this.gastProductionsCache[e];if((0,qJ.isUndefined)(i))throw Error("Rule ->"+e+"<- does not exist in this grammar.");return(0,jJ.nextPossibleTokensAfter)([i],t,this.tokenMatcher,this.maxLookahead)},r.prototype.getNextPossibleTokenTypes=function(e){var t=(0,qJ.first)(e.ruleStack),i=this.getGAstProductions(),n=i[t],s=new jJ.NextAfterTokenWalker(n,e).startWalking();return s},r}();tw.ContentAssist=pBe});var e3=y(nw=>{"use strict";Object.defineProperty(nw,"__esModule",{value:!0});nw.GastRecorder=void 0;var In=Gt(),Lo=Cn(),dBe=Jd(),XJ=df(),_J=HA(),CBe=Hn(),mBe=Wy(),iw={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(iw);var WJ=!0,zJ=Math.pow(2,mBe.BITS_FOR_OCCURRENCE_IDX)-1,ZJ=(0,_J.createToken)({name:"RECORDING_PHASE_TOKEN",pattern:dBe.Lexer.NA});(0,XJ.augmentTokenTypes)([ZJ]);var $J=(0,_J.createTokenInstance)(ZJ,`This IToken indicates the Parser is in Recording Phase - See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze($J);var EBe={name:`This CSTNode indicates the Parser is in Recording Phase - See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},IBe=function(){function r(){}return r.prototype.initGastRecorder=function(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1},r.prototype.enableRecording=function(){var e=this;this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",function(){for(var t=function(n){var s=n>0?n:"";e["CONSUME"+s]=function(o,a){return this.consumeInternalRecord(o,n,a)},e["SUBRULE"+s]=function(o,a){return this.subruleInternalRecord(o,n,a)},e["OPTION"+s]=function(o){return this.optionInternalRecord(o,n)},e["OR"+s]=function(o){return this.orInternalRecord(o,n)},e["MANY"+s]=function(o){this.manyInternalRecord(n,o)},e["MANY_SEP"+s]=function(o){this.manySepFirstInternalRecord(n,o)},e["AT_LEAST_ONE"+s]=function(o){this.atLeastOneInternalRecord(n,o)},e["AT_LEAST_ONE_SEP"+s]=function(o){this.atLeastOneSepFirstInternalRecord(n,o)}},i=0;i<10;i++)t(i);e.consume=function(n,s,o){return this.consumeInternalRecord(s,n,o)},e.subrule=function(n,s,o){return this.subruleInternalRecord(s,n,o)},e.option=function(n,s){return this.optionInternalRecord(s,n)},e.or=function(n,s){return this.orInternalRecord(s,n)},e.many=function(n,s){this.manyInternalRecord(n,s)},e.atLeastOne=function(n,s){this.atLeastOneInternalRecord(n,s)},e.ACTION=e.ACTION_RECORD,e.BACKTRACK=e.BACKTRACK_RECORD,e.LA=e.LA_RECORD})},r.prototype.disableRecording=function(){var e=this;this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",function(){for(var t=0;t<10;t++){var i=t>0?t:"";delete e["CONSUME"+i],delete e["SUBRULE"+i],delete e["OPTION"+i],delete e["OR"+i],delete e["MANY"+i],delete e["MANY_SEP"+i],delete e["AT_LEAST_ONE"+i],delete e["AT_LEAST_ONE_SEP"+i]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})},r.prototype.ACTION_RECORD=function(e){},r.prototype.BACKTRACK_RECORD=function(e,t){return function(){return!0}},r.prototype.LA_RECORD=function(e){return CBe.END_OF_FILE},r.prototype.topLevelRuleRecord=function(e,t){try{var i=new Lo.Rule({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),t.call(this),this.recordingProdStack.pop(),i}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` - This error was thrown during the "grammar recording phase" For more info see: - https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}},r.prototype.optionInternalRecord=function(e,t){return sC.call(this,Lo.Option,e,t)},r.prototype.atLeastOneInternalRecord=function(e,t){sC.call(this,Lo.RepetitionMandatory,t,e)},r.prototype.atLeastOneSepFirstInternalRecord=function(e,t){sC.call(this,Lo.RepetitionMandatoryWithSeparator,t,e,WJ)},r.prototype.manyInternalRecord=function(e,t){sC.call(this,Lo.Repetition,t,e)},r.prototype.manySepFirstInternalRecord=function(e,t){sC.call(this,Lo.RepetitionWithSeparator,t,e,WJ)},r.prototype.orInternalRecord=function(e,t){return yBe.call(this,e,t)},r.prototype.subruleInternalRecord=function(e,t,i){if(rw(t),!e||(0,In.has)(e,"ruleName")===!1){var n=new Error(" argument is invalid"+(" expecting a Parser method reference but got: <"+JSON.stringify(e)+">")+(` - inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,In.peek)(this.recordingProdStack),o=e.ruleName,a=new Lo.NonTerminal({idx:t,nonTerminalName:o,label:i==null?void 0:i.LABEL,referencedRule:void 0});return s.definition.push(a),this.outputCst?EBe:iw},r.prototype.consumeInternalRecord=function(e,t,i){if(rw(t),!(0,XJ.hasShortKeyProperty)(e)){var n=new Error(" argument is invalid"+(" expecting a TokenType reference but got: <"+JSON.stringify(e)+">")+(` - inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,In.peek)(this.recordingProdStack),o=new Lo.Terminal({idx:t,terminalType:e,label:i==null?void 0:i.LABEL});return s.definition.push(o),$J},r}();nw.GastRecorder=IBe;function sC(r,e,t,i){i===void 0&&(i=!1),rw(t);var n=(0,In.peek)(this.recordingProdStack),s=(0,In.isFunction)(e)?e:e.DEF,o=new r({definition:[],idx:t});return i&&(o.separator=e.SEP),(0,In.has)(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),n.definition.push(o),this.recordingProdStack.pop(),iw}function yBe(r,e){var t=this;rw(e);var i=(0,In.peek)(this.recordingProdStack),n=(0,In.isArray)(r)===!1,s=n===!1?r:r.DEF,o=new Lo.Alternation({definition:[],idx:e,ignoreAmbiguities:n&&r.IGNORE_AMBIGUITIES===!0});(0,In.has)(r,"MAX_LOOKAHEAD")&&(o.maxLookahead=r.MAX_LOOKAHEAD);var a=(0,In.some)(s,function(l){return(0,In.isFunction)(l.GATE)});return o.hasPredicates=a,i.definition.push(o),(0,In.forEach)(s,function(l){var c=new Lo.Alternative({definition:[]});o.definition.push(c),(0,In.has)(l,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:(0,In.has)(l,"GATE")&&(c.ignoreAmbiguities=!0),t.recordingProdStack.push(c),l.ALT.call(t),t.recordingProdStack.pop()}),iw}function VJ(r){return r===0?"":""+r}function rw(r){if(r<0||r>zJ){var e=new Error("Invalid DSL Method idx value: <"+r+`> - `+("Idx value must be a none negative value smaller than "+(zJ+1)));throw e.KNOWN_RECORDER_ERROR=!0,e}}});var r3=y(sw=>{"use strict";Object.defineProperty(sw,"__esModule",{value:!0});sw.PerformanceTracer=void 0;var t3=Gt(),wBe=Hn(),BBe=function(){function r(){}return r.prototype.initPerformanceTracer=function(e){if((0,t3.has)(e,"traceInitPerf")){var t=e.traceInitPerf,i=typeof t=="number";this.traceInitMaxIdent=i?t:1/0,this.traceInitPerf=i?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=wBe.DEFAULT_PARSER_CONFIG.traceInitPerf;this.traceInitIndent=-1},r.prototype.TRACE_INIT=function(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <"+e+">");var n=(0,t3.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return t()},r}();sw.PerformanceTracer=BBe});var i3=y(ow=>{"use strict";Object.defineProperty(ow,"__esModule",{value:!0});ow.applyMixins=void 0;function bBe(r,e){e.forEach(function(t){var i=t.prototype;Object.getOwnPropertyNames(i).forEach(function(n){if(n!=="constructor"){var s=Object.getOwnPropertyDescriptor(i,n);s&&(s.get||s.set)?Object.defineProperty(r.prototype,n,s):r.prototype[n]=t.prototype[n]}})})}ow.applyMixins=bBe});var Hn=y(Cr=>{"use strict";var o3=Cr&&Cr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Cr,"__esModule",{value:!0});Cr.EmbeddedActionsParser=Cr.CstParser=Cr.Parser=Cr.EMPTY_ALT=Cr.ParserDefinitionErrorType=Cr.DEFAULT_RULE_CONFIG=Cr.DEFAULT_PARSER_CONFIG=Cr.END_OF_FILE=void 0;var _i=Gt(),QBe=Yq(),n3=HA(),a3=_d(),s3=pJ(),SBe=Vx(),vBe=BJ(),xBe=FJ(),PBe=TJ(),DBe=OJ(),kBe=HJ(),RBe=YJ(),FBe=JJ(),NBe=e3(),TBe=r3(),LBe=i3();Cr.END_OF_FILE=(0,n3.createTokenInstance)(n3.EOF,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Cr.END_OF_FILE);Cr.DEFAULT_PARSER_CONFIG=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:a3.defaultParserErrorProvider,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1});Cr.DEFAULT_RULE_CONFIG=Object.freeze({recoveryValueFunc:function(){},resyncEnabled:!0});var OBe;(function(r){r[r.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",r[r.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",r[r.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",r[r.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",r[r.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",r[r.LEFT_RECURSION=5]="LEFT_RECURSION",r[r.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",r[r.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",r[r.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",r[r.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",r[r.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",r[r.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",r[r.TOO_MANY_ALTS=12]="TOO_MANY_ALTS"})(OBe=Cr.ParserDefinitionErrorType||(Cr.ParserDefinitionErrorType={}));function MBe(r){return r===void 0&&(r=void 0),function(){return r}}Cr.EMPTY_ALT=MBe;var aw=function(){function r(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;var i=this;if(i.initErrorHandler(t),i.initLexerAdapter(),i.initLooksAhead(t),i.initRecognizerEngine(e,t),i.initRecoverable(t),i.initTreeBuilder(t),i.initContentAssist(),i.initGastRecorder(t),i.initPerformanceTracer(t),(0,_i.has)(t,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. - Please use the flag on the relevant DSL method instead. - See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES - For further details.`);this.skipValidations=(0,_i.has)(t,"skipValidations")?t.skipValidations:Cr.DEFAULT_PARSER_CONFIG.skipValidations}return r.performSelfAnalysis=function(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")},r.prototype.performSelfAnalysis=function(){var e=this;this.TRACE_INIT("performSelfAnalysis",function(){var t;e.selfAnalysisDone=!0;var i=e.className;e.TRACE_INIT("toFastProps",function(){(0,_i.toFastProperties)(e)}),e.TRACE_INIT("Grammar Recording",function(){try{e.enableRecording(),(0,_i.forEach)(e.definedRulesNames,function(s){var o=e[s],a=o.originalGrammarAction,l=void 0;e.TRACE_INIT(s+" Rule",function(){l=e.topLevelRuleRecord(s,a)}),e.gastProductionsCache[s]=l})}finally{e.disableRecording()}});var n=[];if(e.TRACE_INIT("Grammar Resolving",function(){n=(0,s3.resolveGrammar)({rules:(0,_i.values)(e.gastProductionsCache)}),e.definitionErrors=e.definitionErrors.concat(n)}),e.TRACE_INIT("Grammar Validations",function(){if((0,_i.isEmpty)(n)&&e.skipValidations===!1){var s=(0,s3.validateGrammar)({rules:(0,_i.values)(e.gastProductionsCache),maxLookahead:e.maxLookahead,tokenTypes:(0,_i.values)(e.tokensMap),errMsgProvider:a3.defaultGrammarValidatorErrorProvider,grammarName:i});e.definitionErrors=e.definitionErrors.concat(s)}}),(0,_i.isEmpty)(e.definitionErrors)&&(e.recoveryEnabled&&e.TRACE_INIT("computeAllProdsFollows",function(){var s=(0,QBe.computeAllProdsFollows)((0,_i.values)(e.gastProductionsCache));e.resyncFollows=s}),e.TRACE_INIT("ComputeLookaheadFunctions",function(){e.preComputeLookaheadFunctions((0,_i.values)(e.gastProductionsCache))})),!r.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,_i.isEmpty)(e.definitionErrors))throw t=(0,_i.map)(e.definitionErrors,function(s){return s.message}),new Error(`Parser Definition Errors detected: - `+t.join(` -------------------------------- -`))})},r.DEFER_DEFINITION_ERRORS_HANDLING=!1,r}();Cr.Parser=aw;(0,LBe.applyMixins)(aw,[SBe.Recoverable,vBe.LooksAhead,xBe.TreeBuilder,PBe.LexerAdapter,kBe.RecognizerEngine,DBe.RecognizerApi,RBe.ErrorHandler,FBe.ContentAssist,NBe.GastRecorder,TBe.PerformanceTracer]);var UBe=function(r){o3(e,r);function e(t,i){i===void 0&&(i=Cr.DEFAULT_PARSER_CONFIG);var n=this,s=(0,_i.cloneObj)(i);return s.outputCst=!0,n=r.call(this,t,s)||this,n}return e}(aw);Cr.CstParser=UBe;var KBe=function(r){o3(e,r);function e(t,i){i===void 0&&(i=Cr.DEFAULT_PARSER_CONFIG);var n=this,s=(0,_i.cloneObj)(i);return s.outputCst=!1,n=r.call(this,t,s)||this,n}return e}(aw);Cr.EmbeddedActionsParser=KBe});var l3=y(Aw=>{"use strict";Object.defineProperty(Aw,"__esModule",{value:!0});Aw.createSyntaxDiagramsCode=void 0;var A3=Ix();function HBe(r,e){var t=e===void 0?{}:e,i=t.resourceBase,n=i===void 0?"https://unpkg.com/chevrotain@"+A3.VERSION+"/diagrams/":i,s=t.css,o=s===void 0?"https://unpkg.com/chevrotain@"+A3.VERSION+"/diagrams/diagrams.css":s,a=` - - - - - -`,l=` - -`,c=` -